【问题标题】:Figuring out which test failed in Karma找出在 Karma 中失败的测试
【发布时间】:2021-07-10 05:46:30
【问题描述】:

我们有一个 Angular 10 应用程序,其中使用无头 Chrome 在 Karma 中运行了大约 600 个 Jasmine 测试。

最近,其中一个测试开始失败,并出现“在 beforeEach 中引发错误”错误。找出哪个测试失败的最佳方法是什么?

我尝试在 Karma 配置中添加一些报告器,以便查看正在执行哪些测试。我尝试的记者在执行后打印了每个测试的名称,但由于测试在 beforeEach 方法中失败,因此名称从未被打印出来。我试图寻找一个能在测试执行之前打印出测试名称的记者,但我找不到任何东西。最终我通过删除一半的测试套件进行了二分搜索,直到找出哪个测试失败,但我相信一定有更好的方法来做到这一点。

【问题讨论】:

标签: angular karma-jasmine


【解决方案1】:

您可以在每个测试用例的 it 块中编辑消息并在 karma 控制台上对其进行监控。在这种情况下,它是“应该创建”

it("should create", () => {
    expect(component).toBeTruthy();
  });

如果您运行的测试用例过多,请在 describe 和 it 块上使用 f 和 x。

fdescribe - Karma 只会为编写 fdescribe 的组件运行测试用例。

xdescribe - Karma 将跳过编写 fdescribe 的组件的测试用例

同样,您可以将此前缀用于单个测试用例(它阻止)。如果您只需要运行一个或几个测试用例或跳过几个测试用例,这将很有帮助。

fit - Karma 只会为编写 fit 的组件运行测试用例。

xit - Karma 只会跳过编写 xit 的组件的测试用例。

【讨论】:

    猜你喜欢
    • 2016-02-22
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多