如何使用Jasmine处理波动的单元测试用例



我正在为Angular 13项目使用Jasmine编写单元测试用例。有一个测试用例有时通过,有时失败。我想这是因为测试执行的顺序。知道怎么处理吗?

毕竟中出现错误

默认情况下,每次测试都以随机顺序运行。有一个种子值,您可以重新创建订单。你可以在这个答案中阅读如何处理这个问题。

一旦你每次都在失败的地方执行,你就会很容易知道以下任何一项是否真的解决了你的问题。

你也可以在任何地方查看订阅的内容——每次订阅测试时,你都需要确保在测试结束时取消订阅。要做到这一点,您可以放置.pipe(take(1))或捕获订阅对象,并对其调用unsubscribe

const sub = someService.callObservable().subscribe();
// verify what you need to
sub.unsubscribe();

第三个概念是,您在beforeEach上面定义的任何变量都应该在beforeEach中设置为一个新值。否则,您将在测试之间重用相同的对象,这可能会导致问题。

相关内容

  • 没有找到相关文章

最新更新