我正在尝试测试我的角度4.1.0组件-
export class CellComponent implements OnInit {
lines: Observable<Array<ILine>>;
@Input() dep: string;
@Input() embedded: boolean;
@Input() dashboard: boolean;
constructor(
public dataService: CellService,
private route: ActivatedRoute,
private router: Router, private store: Store<AppStore>) {
}
}
然而,一个简单的“应该创建”测试抛出了这个神秘的错误...
NetworkError:未能对“XMLHttpRequest”执行“send”:未能加载“ng:///DynamicTestModule/module.ngfactory.js”。
所以我发现了这个问题,这表明问题是组件有 @Input)_
参数未设置,但是,如果我像这样修改我的测试:
it('should create', inject([CellComponent], (cmp: CellComponent) => {
cmp.dep = '';
cmp.embedded = false;
cmp.dashboard = false;
expect(cmp).toBeTruthy();
}));
同样,如果我从组件中移除< code>@Input()注释,仍然没有区别。我怎样才能通过这些测试?
对于我的情况,存在模拟数据问题,而在 Array
的情况下,我从模拟中返回字符串
。
someApi = fixture.debugElement.injector.get(SomeApi);
spyOn(someApi, 'someMethod')
.and.returnValue(Observable.of('this is not a string but array'));
错误消息确实分散了注意力,并没有告诉实际错误。运行ng测试--source=false
指出了正确的错误和行,并帮助我快速修复了它。
很多时候,当您模拟的数据不完整或不正确时,就会发生这种情况。
这是新 Angular CLI 的问题。使用 --sourcemaps=false
运行测试,您将获得正确的错误消息。
在这里查看详细信息:https://github.com/angular/angular-cli/issues/7296
编辑:
对此的简写是:
ng 测试 -sm=假
从角6开始,命令是:
< code > ng test-source-map = false
我已经建立了一个cucumberjava硒项目,我想在我的管道中添加重新运行阶段。使用运行器AllTestRunner中的@rerun插件.java我能够创建一个仅失败测试的重新运行.txt并使用maven-surefire-plugin,我创建了一个第二个运行器FailedRunner.java用于自动执行,仅失败的测试。 问题是FailedRunner.java不仅执行失败的测试,还执行All
在使用maven运行单元测试时,我遇到了这个异常。我的所有测试都没有执行。我的测试类的格式是 我正在运行以下命令来运行此命令: 使用的surefire插件是: 有人知道为什么我的测试没有执行吗?我用的是jUnit 4.8.2和surefire 2.14.1
我试图用jenkins execution命令测试我的java项目,但是我得到了以下错误消息: 有关单个测试结果,请参阅/var/jenkins_home/workspace/test1/target/surefire-reports。请参阅转储文件(如果存在)[date].dump,[date]-jvmrun[N].dump和[date].dumpstream。分叉的VM在没有正确地说再见的情况
我按照cypress在他们的文档中推荐的方式编写测试,即每个测试有多个断言,但是用这种方式编写测试时会出现一个问题,那就是如果断言失败,测试执行就会停止。 我希望每个测试有多个断言,如果其中一个失败,测试将失败,但将继续测试执行,所以在最后,我将能够看到测试中失败的所有断言,而不仅仅是第一个失败的断言。 提前感谢!
只有当Jasmine测试失败时才可能做某事吗?与在之后执行的 之后并置,无论结果如何,我正在寻找一种仅在 有一个失败的期望之后执行代码的方法。 这个问题不是特定于Angular的,但在我的场景中,我正在测试一个Angular服务,它使用<code>和$log<code>输出调试消息。我不想为了成功的测试而使控制台杂乱无章,只想显示失败测试的附加信息。 我正在运行Jasmine 2.2.0。 编辑:
我的角应用程序正常运行时工作正常,但在我进行单元测试时似乎执行了两次(使用Karma 它的实例化如下: 浏览器控制台的输出如下: “在浏览器中运行的应用程序” "配置" “运行” 但是单元测试的输出如下: INFO [karma]: Karma v0.12.31 服务器在 http://localhost:9876/ 启动 [..因果报应/幻觉之类的..] 日志:“在浏览器中运行的应用程序” WA