作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用 Angular 项目通过 Stackblitz 执行测试脚本?
我在 package.json 中看到了一个 karma 包,所以我想知道是否有可能测试我的组件
https://stackblitz.com/edit/redux-in-actions?file=package.json
谢谢
安德烈亚
最佳答案
一种方法是使用 Jasmine (这是一个行为驱动的开发框架)在 Stackblitz 中运行 Angular 测试。
Stackblitz Demo
简要说明为 step by step guide
主要步骤:
/src/global-jasmine.ts
import jasmineRequire from 'jasmine-core/lib/jasmine-core/jasmine.js';
window.jasmineRequire = jasmineRequire;
/src/styles.scss
@import 'jasmine-core/lib/jasmine-core/jasmine.css';
/src/main-testing.ts file
import './global-jasmine'
import 'jasmine-core/lib/jasmine-core/jasmine-html.js';
import 'jasmine-core/lib/jasmine-core/boot.js';
import './polyfills';
// This file is required by karma.conf.js and loads recursively all the .spec and framework files
import 'zone.js/dist/async-test';
import 'zone.js/dist/fake-async-test';
import 'zone.js/dist/long-stack-trace-zone';
import 'zone.js/dist/proxy.js';
import 'zone.js/dist/sync-test';
// Requires 'zone.js/dist/proxy.js' and 'zone.js/dist/sync-test';
import 'zone.js/dist/jasmine-patch';
import { getTestBed } from '@angular/core/testing';
import {
BrowserDynamicTestingModule,
platformBrowserDynamicTesting
} from '@angular/platform-browser-dynamic/testing';
// stuff to test
import './app/app.component.spec.ts'
jasmine.getEnv().configure({random: false});
bootstrap();
function bootstrap () {
if (window.jasmineRef) {
location.reload();
return;
} else {
window.onload();
window.jasmineRef = jasmine.getEnv();
}
// First, initialize the Angular testing environment.
getTestBed().initTestEnvironment(
BrowserDynamicTestingModule,
platformBrowserDynamicTesting()
);
}
/src/app/app.component.spec.ts
例如。:describe('Testing tests', () => {
it('should succeed', () => expect(true).toEqual(true));
it('should fail', () => expect(true).toEqual(false));
});
"main": "src/main-testing.ts",
而不是 "main": "src/main.ts",
在文件中 angular.json
关于angular - Stackblitz : how can i execute a test using Angular?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53435743/
我是一名优秀的程序员,十分优秀!