gpt4 book ai didi

angularjs - 如何使用 Angular Scenario Runner 运行测试套件的子集?

转载 作者:行者123 更新时间:2023-12-02 21:59:26 24 4
gpt4 key购买 nike

我正在开发一个基于 TDD 的应用程序。

对于服务器端,一切都很好,因为 Python 测试运行器很棒。

对于 JS,我开始使用 mocha,这也很棒。

我已经用 Karma 和 Angular Scenario Runner 编写了我的第一个测试,它也很棒。

问题是,在现实生活中开始使用 Angular Scenario Runner 后不久,我就完成了 60 个 e2s 测试。运行所有测试需要 1 分钟。

现在,当我编写新测试时,每次我要检查测试时,我都必须等待长达 60 秒。

在 Mocka 中,有一个选项可以只运行一个特定的测试 .only http://visionmedia.github.io/mocha/#exclusive-tests


看起来 Angular Scenario Runner 被简要记录,但不知何故模仿了 Jasmine。


查看 Angular Scenario Runner 代码我只能找到 xit 定义,用于跳过测试。

是否有技巧可以让 Angular Scenario Runner 只运行测试的一个子集?

我已经实现了一个 xdescribe 空白方法来跳过整个套件......但从长远来看这是可行的。

非常感谢!

最佳答案

是的,您可以运行一部分测试。

在您要运行的测试中使用 iit 而不是 it ,其他测试将被跳过。

例子:

describe('TestCtrl', function() {

var $scope;

iit('should have scope', function() {
expect($scope).toBeDefined();
});

it('should have scope', function() {
expect($scope).toBeDefined();
});

it('should have scope', function() {
expect($scope).toBeDefined();
});

});

这将导致只运行第一个测试并跳过其他测试。

一旦 Jasmine 检测到使用 iit 的测试,它将跳过所有使用 it 的测试。

如果您在定义了整套测试后只需要测试一个或两个正在处理的测试,这将非常方便。

当您将 describe 替换为 ddescribe 以仅运行带有 ddescribe 的 block 时,这也有效。

一旦删除所有 iitddescribe 调用,所有测试将再次运行。

希望对您有所帮助!

关于angularjs - 如何使用 Angular Scenario Runner 运行测试套件的子集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17196375/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com