
Product
Introducing Module Reachability: Focus on the Vulnerabilities That Matter
Module Reachability filters out unreachable CVEs so you can focus on vulnerabilities that actually matter to your application.
ember-addon-tests
Advanced tools
Ember Addon Tests provides declarative test helpers for testing ember addons.
Ember addons provide a great developer experience for most integration test cases out of the box. The dummy app allows to test components and services provided by the addon in the context of a consuming application. Ember-try helps to test the addon against different versions of dependencies.
But Ember addons do not provide a great test story for some less common cases:
ember install addon
) and blueprints run by it.ember serve
).Ember Addon Tests tries to fill that gap. It's inspired by Ember CLI Addon Tests. It could be seen as a rewrite of Ember CLI Addon Tests using a modernized architecture utilizing yarn workspaces.
ember-cli
is installed globally.ember-addon-tests
in your project.If using NPM:
npm install --global ember-cli
npm install --save-dev ember-addon-tests
If using Yarn:
yarn global add ember-cli
yarn add --dev ember-addon-tests
const TestProject = require('ember-addon-tests');
const { expect } = require('chai');
const axios = require('axios');
// Create a new test project
let testProject = new TestProject({
projectRoot: '/path-to/npm-package/or/yarn-workspace-root',
});
// Create a new ember application within your test project
await testProject.createEmberApp();
// Install addon under test in the test project
await testProject.addOwnPackageAsDevDependency(
'name-of-a-npm-package-within-project-root'
);
// Build the application
await testProject.runEmberCommand('build', '--prod');
// Do some assertions against build
expect(
await fs.stat(path.join(testProject.path, 'dist', 'vendor.js')).size
).to.be.lessThan(1 * 1024 * 1024);
// Start Ember's development server
await testProject.startEmberServer();
// Do some assertions against the running development server
let response = await axios.get('http://localhost:4200');
expect(response.headers).to.include({
'content-security-policy': "default-src: 'none';"
});
// Stop Ember's development server again
await testProject.stopEmberServer();
TestProject.createEmberApp()
and TestProject.createEmberAddon()
methods
use globally installed Ember CLI to create a new Ember project. They will use
whatever Ember version is installed globally. Upgrade or downgrade globally
installed Ember CLI to test your addon against different Ember CLI versions.
Please refer to source code as API documentation for now.
This project is licensed under the MIT License.
FAQs
Declarative integration tests for Ember Addons
The npm package ember-addon-tests receives a total of 5 weekly downloads. As such, ember-addon-tests popularity was classified as not popular.
We found that ember-addon-tests demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Module Reachability filters out unreachable CVEs so you can focus on vulnerabilities that actually matter to your application.
Company News
Socket is bringing best-in-class reachability analysis into the platform — cutting false positives, accelerating triage, and cementing our place as the leader in software supply chain security.
Product
Socket is introducing a new way to organize repositories and apply repository-specific security policies.