question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

test: migrate from test runner tap to jest

See original GitHub issue

Update 2021-08-09

This used to be about AVA but now is about Jest

Update 2020-11-02

Switched the target to AVA from jest, details below in comments.

Description

As a developer I want to be able to write unit tests for the universal packages that execute the same code both in NodeJS and in the browser so that I don’t have to duplicate work in order to have test coverage for both platforms for the cross-platform packages.

While working on the stable signature generation, we’ve discovered that accidentally the wrong library was used initially (congratulations to Peter) which is called “tap” instead of “tape”. They both do the same thing (test runners for TAP - Test Anything Protocol) but the tap library does not work in browsers while the tape library is, so to keep the build/test infrastructure of the project as simple as possible it would be the best to migrate to tape entirely since it anyway has support for TAP (the protocol)

https://www.npmjs.com/package/ava

Acceptance Criteria

  1. Complexity of build/test scripts has not increased
  2. Tests for cross-platform packages such as cactus-common can be written once and ran “anywhere” (NodeJS, browser)
  3. Developer workflow has not lengthened, did not increase in complexity (from the human perspective, not code-wise that was mentioned in 1))

cc: @takeutak @sfuji822 @hartm @jonathan-m-hamilton @AzaharaC @jordigiam @kikoncuo

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:5 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
awadhanacommented, Jul 7, 2021

I’ll take this 😃

0reactions
petermetzcommented, Jun 29, 2021
module.exports = {
  preset: "ts-jest",
  testEnvironment: "node",
  setupFilesAfterEnv: ["jest-extended"],
  testTimeout: 60 * 60 * 1000,
  testMatch: [
    `**/cactus-*/src/test/typescript/unit,integration,benchmark}/**/*.{test,spec}.ts`,
  ],
};

./packages/cactus-core/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-core/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-api-client/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-api-client/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-api-client/src/test/typescript/integration/default-consortium-provider.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/refund-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/withdraw-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/get-status-endpoint.test.ts
./packages/cactus-plugin-ledger-connector-quorum/src/test/typescript/integration/plugin-ledger-connector-quorum/deploy-contract/v2.3.0-deploy-contract-from-json.test.ts
./packages/cactus-plugin-ledger-connector-quorum/src/test/typescript/integration/plugin-ledger-connector-quorum/deploy-contract/v21.4.1-deploy-contract-from-json.test.ts
./packages/cactus-plugin-ledger-connector-xdai/src/test/typescript/integration/deploy-contract-from-json-xdai.test.ts
./packages/cactus-test-plugin-consortium-manual/src/test/typescript/integration/plugin-consortium-manual/get-consortium-jws-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/new-contract-endpoint.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/deploy-cc-from-golang-source-private-data.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/deploy-cc-from-typescript-source.test.ts
./packages/cactus-plugin-ledger-connector-xdai/src/test/typescript/integration/invoke-contract-xdai.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/deploy-cc-from-javascript-source.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/deploy-cc-from-golang-source.test.ts
./packages/cactus-common/src/test/typescript/unit/key-converter.test.ts
./packages/cactus-test-plugin-ledger-connector-quorum/src/test/typescript/integration/plugin-ledger-connector-quorum/deploy-contract/deploy-contract-via-web-service.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/get-single-status-endpoint.test.ts
./packages/cactus-test-api-client/src/test/typescript/integration/api-client-routing-node-to-node.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/refund-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/get-single-status-endpoint-invalid.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/withdraw-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/plugin-htlc-eth-besu-erc20/initialize-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/refund-endpoint-invalid.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/get-status-endpoint-invalid.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/get-status-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/get-single-status-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/withdraw-endpoint-invalid.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/get-single-status-endpoint-invalid.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/jwt-socketio-endpoint-authorization.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/new-contract-endpoint-invalid.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/new-contract-endpoint.test.ts
./packages/cactus-common/src/test/typescript/unit/js-object-signer.test.ts
./packages/cactus-plugin-consortium-manual/src/test/typescript/unit/consortium/get-node-jws-endpoint-v1.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/jwt-endpoint-authz-scope-enforcement.test.ts
./packages/cactus-plugin-keychain-memory/src/test/typescript/unit/plugin-keychain-memory.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/initialize-endpoint.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/plugin-htlc-eth-besu/initialize-endpoint-invalid.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/jwt-endpoint-authorization.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/plugin-import-with-npm-install.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/benchmark/artillery-api-benchmark.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/jwt-unprotected-endpoint-authz.test.ts
./packages/cactus-test-cmd-api-server/src/test/typescript/integration/remote-plugin-imports.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/remote-plugin-imports.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/runtime-plugin-imports.test.ts
./packages/cactus-test-cmd-api-server/src/test/typescript/integration/plugin-import-with-npm-install.test.ts
./packages/cactus-core/src/test/typescript/unit/plugin-registry.test.ts
./packages/cactus-test-cmd-api-server/src/test/typescript/integration/runtime-plugin-imports.test.ts
./packages/cactus-plugin-ledger-connector-corda/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-consortium-manual/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-core-api/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-keychain-memory/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-consortium-manual/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-common/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-core-api/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-keychain-memory/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-common/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-test-plugin-htlc-eth-besu-erc20/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-test-cmd-api-server/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-test-api-client/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-test-api-client/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-test-cmd-api-server/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v2-2-x/run-transaction-endpoint-v1.test.ts
./packages/cactus-test-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-validator-besu/sign-transaction-endpoint.test.ts
./packages/cactus-plugin-keychain-vault/src/test/typescript/integration/plugin-keychain-vault.test.ts
./packages/cactus-common/src/test/typescript/unit/logging/logger.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/integration/jwt-unprotected-endpoint-authz-ops-confirm.test.ts
./packages/cactus-common/src/test/typescript/unit/servers.test.ts
./packages/cactus-cmd-api-server/src/test/typescript/unit/config/config-service-example-config-validity.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-xdai/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-keychain-vault/src/test/typescript/integration/cactus-keychain-vault-server.test.ts
./packages/cactus-plugin-ledger-connector-xdai/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-keychain-vault/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-test-plugin-htlc-eth-besu/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/deploy-contract/deploy-contract-from-json.test.ts
./packages/cactus-plugin-ledger-connector-corda/src/test/typescript/integration/jvm-kotlin-spring-server.test.ts
./packages/cactus-plugin-ledger-connector-corda/src/test/typescript/integration/deploy-cordapp-jars-to-nodes.test.ts
./packages/cactus-plugin-ledger-connector-quorum/src/test/typescript/integration/plugin-ledger-connector-quorum/deploy-contract/v2.3.0-invoke-contract.test.ts
./packages/cactus-plugin-ledger-connector-quorum/src/test/typescript/integration/plugin-ledger-connector-quorum/deploy-contract/v21.4.1-invoke-contract.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/deploy-contract/invoke-contract.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v1-4-x/deploy-cc-from-golang-source.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/fabric-v1-4-x/run-transaction-endpoint-v1.test.ts
./packages/cactus-test-tooling/src/test/typescript/integration/rustc-container/rustc-container-target-bundler.test.ts
./packages/cactus-test-tooling/src/test/typescript/integration/rustc-container/rustc-container-target-nodejs.test.ts
./packages/cactus-test-tooling/src/test/typescript/integration/common/containers.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/deploy-contract/get-balance.test.ts
./packages/cactus-plugin-ledger-connector-quorum/src/test/typescript/unit/model-type-guards.test.ts
./packages/cactus-common/src/test/typescript/unit/bools.test.ts
./packages/cactus-common/src/test/typescript/unit/checks.test.ts
./packages/cactus-common/src/test/typescript/unit/objects/get-all-field-names.test.ts
./packages/cactus-test-tooling/src/test/typescript/integration/corda/corda-test-ledger/corda-test-ledger-constructor.test.ts
./packages/cactus-common/src/test/typescript/unit/objects/get-all-method-names.test.ts
./packages/cactus-common/src/test/typescript/unit/strings/is-string.test.ts
./packages/cactus-common/src/test/typescript/unit/coded-error.test.ts
./packages/cactus-common/src/test/typescript/unit/strings/replace-all.test.ts
./packages/cactus-common/src/test/typescript/unit/strings/drop-non-printable.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-plugin-htlc-eth-besu/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-corda/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-plugin-htlc-eth-besu/src/test/typescript/integration/api-surface.test.ts
./packages/cactus-test-plugin-consortium-manual/src/test/typescript/unit/api-surface.test.ts
./packages/cactus-test-plugin-consortium-manual/src/test/typescript/integration/api-surface.test.ts
./examples/cactus-example-carbon-accounting-backend/src/test/typescript/integration/admin-enroll-v1-endpoint.test.ts
./examples/cactus-example-supply-chain-backend/src/test/typescript/integration/supply-chain-backend-api-calls.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/deploy-contract/besu-test-ledger-parameters.test.ts
./packages/cactus-plugin-ledger-connector-besu/src/test/typescript/integration/plugin-ledger-connector-besu/besu-get-transaction.test.ts
./examples/cactus-example-supply-chain-backend/src/test/typescript/integration/supply-chain-cli-via-npm-script.test.ts
./packages/cactus-plugin-ledger-connector-fabric/src/test/typescript/unit/chain-code-compiler.test.ts
./examples/cactus-example-supply-chain-backend/src/test/typescript/unit/api-surface.test.ts
./examples/cactus-example-carbon-accounting-backend/src/test/typescript/unit/api-surface.test.ts
./examples/cactus-example-carbon-accounting-backend/src/test/typescript/integration/api-surface.test.ts
./examples/cactus-example-carbon-accounting-business-logic-plugin/src/test/typescript/unit/api-surface.test.ts
./examples/cactus-example-carbon-accounting-business-logic-plugin/src/test/typescript/integration/api-surface.test.ts
./examples/cactus-example-supply-chain-business-logic-plugin/src/test/typescript/unit/api-surface.test.ts
./examples/cactus-example-supply-chain-business-logic-plugin/src/test/typescript/integration/api-surface.test.ts
./examples/cactus-example-supply-chain-backend/src/test/typescript/integration/api-surface.test.ts

Read more comments on GitHub >

github_iconTop Results From Across the Web

Migrating to Jest
Jest Codemods can migrate from chai (see below). ... To transform your existing tests, navigate to the project containing the tests and run:....
Read more >
Migration Guide - Vitest
Migration Guide #. Migrating from Jest #. Vitest has been designed with a Jest compatible API, in order to make the migration from...
Read more >
jest-codemods - GitHub
Codemods that simplify migrating JavaScript and TypeScript test files from AVA, Chai, Expect.js (by Automattic), Expect@1.x (by mjackson), Jasmine, Mocha, ...
Read more >
Migrate from Jest to Playwright Test Runner - part 77 - YouTube
Clarification on Jest and Playwright Test Runner.Stop using Jest and start using Playwright test runner.
Read more >
Migrating to Jest test runner - Grzegorz Ziółkowski
It turned out that it was a completely wrong assumption. It was possible with Jest to speed up execution of all tests from...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found