{"id":18308,"library":"ember-cli-yadda","title":"ember-cli-yadda","description":"Ember CLI addon (v0.7.0, latest) that integrates yadda with Ember's test suite for writing BDD tests in Gherkin. Supports QUnit and Mocha, generating acceptance/integration/unit feature files and step definitions. Requires Ember.js ≥3.20, Ember CLI ≥3.20, Node.js ≥12, and either ember-auto-import v2 or Embroider with custom webpack config. Key differentiators: provides blueprints, supports annotations, and is actively maintained by the Ember community.","status":"active","version":"0.7.0","language":"javascript","source_language":"en","source_url":"https://github.com/kaliber5/ember-cli-yadda","tags":["javascript","ember-addon","yadda","bdd","acceptance testing","gherkin","cucumber","specifications","features"],"install":[{"cmd":"npm install ember-cli-yadda","lang":"bash","label":"npm"},{"cmd":"yarn add ember-cli-yadda","lang":"bash","label":"yarn"},{"cmd":"pnpm add ember-cli-yadda","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core library for parsing and executing Gherkin feature files.","package":"yadda","optional":false},{"reason":"Required for importing yadda via webpack (v2+).","package":"ember-auto-import","optional":true}],"imports":[{"note":"Since v0.5.0, yadda is re-exported from the addon. The old path is broken.","wrong":"import yadda from '../../helpers/yadda';","symbol":"yadda","correct":"import { yadda } from 'ember-cli-yadda';"},{"note":"Only valid for legacy v0.4.x and earlier. Do not use in v0.5.0+.","wrong":"import { yadda } from '../../helpers/yadda';","symbol":"default","correct":"import yadda from '../../helpers/yadda';"}],"quickstart":{"code":"ember install ember-cli-yadda\\nember g feature acceptance-test\\n# Write feature file in tests/acceptance/acceptance-test.feature\\n# Then use in a test file:\\nimport { yadda } from 'ember-cli-yadda';\\nimport steps from './steps/steps';\\nconst library = yadda.library(steps);\\nmodule('Acceptance | bananas rot', function(hooks) {\\n  setupApplicationTest(hooks);\\n  test('bananas rot faster when next to apples', async function(assert) {\\n    await yadda.yadda(library, new yadda.FeatureFileSearch('tests/acceptance').list(), assert);\\n  });\\n});","lang":"javascript","description":"Install addon, generate a feature, and use yadda in a QUnit acceptance test."},"warnings":[{"fix":"Update to ember-auto-import v2 or use Embroider with custom webpack config.","message":"In v0.7.0, ember-auto-import v2 is required. v1 is no longer supported.","severity":"breaking","affected_versions":">=0.7.0"},{"fix":"Use Ember 3.20+ and Node 12+.","message":"In v0.7.0, support for Ember 3.16 and Node 10 was dropped.","severity":"breaking","affected_versions":">=0.7.0"},{"fix":"Replace all `import yadda from '../../helpers/yadda'` with `import { yadda } from 'ember-cli-yadda'`.","message":"In v0.6.0, importing yadda from 'ember-cli-yadda' (the re-export) became the only supported pattern; the old helpers/yadda path was removed.","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Run `npm uninstall ember-browserify` and update imports to `import { yadda } from 'ember-cli-yadda'`.","message":"In v0.5.0, ember-browserify was replaced by ember-auto-import. Manual cleanup needed.","severity":"breaking","affected_versions":">=0.5.0"},{"fix":"Rewrite tests to use modern `setupApplicationTest` hooks and async/await.","message":"In v0.4.0, the testing API changed to RFC 232/268; older synchronous test patterns no longer work.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Add `config.resolve.fallback: { 'path': require.resolve('path-browserify'), 'fs': false }` to webpack config in ember-cli-build.js.","message":"Embroider requires custom webpack config to resolve yadda's require() calls.","severity":"gotcha","affected_versions":">=0.6.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install yadda: `npm install --save-dev yadda` and use `import { yadda } from 'ember-cli-yadda'` (v0.6+).","cause":"Missing yadda npm package or incorrect import path.","error":"Cannot find module 'yadda'"},{"fix":"Ensure step functions call the callback (e.g., `function(done) { ... done(); }`) or return a promise.","cause":"Test step callback not invoked correctly in QUnit.","error":"AssertionError: expected false to be truthy"},{"fix":"Replace with `import { yadda } from 'ember-cli-yadda'`.","cause":"Using old import path (helpers/yadda) instead of addon re-export.","error":"TypeError: yadda.yadda is not a function"},{"fix":"Add `config.resolve.fallback: { path: require.resolve('path-browserify'), fs: false }` to webpack config.","cause":"Embroider/webpack polyfills missing in Node environment.","error":"Module build failed: Error: Can't resolve 'path'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}