简单的讲Jasmine是一个用于编写JavaScript单元测试的框架,Karma则为Jasmine提供了运行环境。
配置Karma
1. 在karma.conf.js中添加如下配置
...
browsers: ['Chrome'],
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox']
}
},
restartOnFileChange: true
...
2. 修改package.json中的test参数,这样便不会每次运行时都自动打开浏览器了,使其可以在无界面的服务器或CI上运行测试
...
"test": "ng test --no-watch --code-coverage --browsers=ChromeHeadlessCI"
...
Jasmine
1. 单元测试文件是以一个describe开始的,一个describe中可以包含多个相关联的测试用例;每个测试用例编写于it方法中,我们可以还利用beforeEach来指定每个测试用例运行执行需要执行的动作,比如:
describe('...', () => {
beforeEach(() => {
// actions or initializations should be done before each unit test
});
it('...', () => {
// the a