SpecSync.Plugin.JestTestSource
5.2.0
Prefix Reserved
dotnet add package SpecSync.Plugin.JestTestSource --version 5.2.0
NuGet\Install-Package SpecSync.Plugin.JestTestSource -Version 5.2.0
<PackageReference Include="SpecSync.Plugin.JestTestSource" Version="5.2.0" />
<PackageVersion Include="SpecSync.Plugin.JestTestSource" Version="5.2.0" />
<PackageReference Include="SpecSync.Plugin.JestTestSource" />
paket add SpecSync.Plugin.JestTestSource --version 5.2.0
#r "nuget: SpecSync.Plugin.JestTestSource, 5.2.0"
#:package SpecSync.Plugin.JestTestSource@5.2.0
#addin nuget:?package=SpecSync.Plugin.JestTestSource&version=5.2.0
#tool nuget:?package=SpecSync.Plugin.JestTestSource&version=5.2.0
Jest Test Source SpecSync Plugin: SpecSync.Plugin.JestTestSource
Allows synchronizing TypeScript Jest tests and publishing Jest JSON test result files.
You can find more information about the SpecSync sample plugins in the repository page.
- Plugin package:
SpecSync.Plugin.JestTestSource - Plugin source:
SpecSync.Plugin.JestTestSource - Sample project:
SampleProject
The plugin requires a SpecSync Enterprise license to run. Please contact us to get an evaluation license.
Synchronizing TypeScript Jest tests
The plugin scans configured TypeScript source files (for example src/**/*.test.ts) and parses Jest test declarations.
It supports:
- JavaScript (.js), TypeScript (.ts), JSX (.jsx) and TSX (.tsx) files
test(...)andit(...)- describe blocks including nested describes
- common Jest extensions, e.g.
describe.each,describe.only,test.concurrent,test.only,test.todo - parameterized tests with
.each(...)
Example:
import { sum } from "./sum";
describe("sum utility [@describeTag]", () => {
test("adds two numbers [@tc:251 @testTag]", () => {
expect(sum(2, 3)).toBe(5);
});
test.each([
[1, 2, 3],
[0, 0, 0],
[-3, 7, 4],
])("adds %i and %i to equal %i [@tc:262]", (left: number, right: number, expected: number) => {
expect(sum(left, right)).toBe(expected);
});
});
// top-level test is also supported
test("adds two numbers (top level) [@tc:264]", () => {
expect(sum(2, 3)).toBe(5);
});
SpecSync tags in Jest test titles
SpecSync tags are read from tag blocks in test and describe titles, for example:
[@tc:251]to link to a Test Case[@story:123]to link to another work item- custom tags like
[@important]
Describe tags are inherited by nested tests.
Example configuration
Sample specsync.json highlights:
{
"toolSettings": {
"plugins": [
{
"packageId": "SpecSync.Plugin.JestTestSource",
"packageVersion": "5.0.0"
}
]
},
"local": {
"folder": "src",
"sourceFiles": [
"src/**/*.test.ts"
]
},
"synchronization": {
"links": [
{
"tagPrefix": "story"
}
],
"automation": {
"enabled": true,
"automatedTestType": "Jest Unit Test"
},
"fieldUpdates": {
"Description": "<b>describe: {rule-name}</b>{br:HTML}<pre>{local-test-case-container-source-file-path:HtmlEncode}:{br}{local-test-case-source:HtmlEncode}</pre>"
}
}
}
Publishing test results
The plugin publishes Jest execution results from Jest JSON output.
Supported format:
JestJson
Generate Jest JSON, e.g.:
npx jest --json --outputFile=jest-results.json
Publish results with SpecSync:
dotnet specsync publish-test-results -r .\jest-results.json -f JestJson
The sample project contains a result file example at SampleProject/jest-results.json.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- SpecSync.PluginDependency (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Please check https://github.com/specsolutions/specsync-sample-plugins/releases for release note details.