如何使用茉莉花2.0从命令行运行单个测试
正如标题所说,我想运行一个测试,而不是整个规格。我试图用简单的方式是使用的情况是这样的:如何使用茉莉花2.0从命令行运行单个测试
describe("MyCase",function() {
it("has a test",function() {
expect(something).toBe(something);
}
it("has another test",function() {
expect(something_else).toBe(something_else);
}
}
这是保存在一个文件名为MyCase.spec.js(如果该事项)。我本来以为,这将有可能只是第一种情况下使用命令行下运行:
jasmine-node --match="MyCase has a test"
但这apperantly没有做到这一点。那么它是如何完成的?
谢谢!
它可能不是你需要的东西,但我想建议使用业力/业力 - 茉莉花。 在Karma内,Jasmine被“修补”并提供额外的描述和iit方法。如果您将一个套件重新命名为ddescribe或将其中一个规格重命名为iit(优先于ddescribe),则只会执行此套件或规范。关于你的问题,你可以将你的第一个规范重命名为iit,然后只有这个规范才会被执行。当然,这只在开发规范时才有用。
这样做的缺点是,人们很容易就会长时间测试一小部分测试套件。所以不要忘记将它重新命名为通常的版本(没有双倍的,没有双倍的我)。
更改it与iit并照常运行测试。 因此只有这个测试会被运行,其他的都会被忽略。
E.g.
iit('should run only this test', function() {
//expect(x).toBe(y);
});
为同样的作品描述块,只需将其重命名为ddescribe
也可以忽略单一它测试通过重命名它到XIT
And xdescribe作品太
它可能是一个非常古老的频道,但它会帮助正在寻找使用茉莉花2.0运行特定测试用例的人。使用“fdescribe”运行特定的套件并使用“fit”来运行特定的spec.This将跳过除标记的所有其他测试。
保持眼睛,不要犯fdescribe和适合回购。这里f描述“焦点”。
对于较低版本,我们可以使用ddescribe,iit,如上面的答案中所述。
花了我一段时间找到这个,谢谢。讨厌与.only()和'我'不工作。 – willem 2017-01-20 09:20:33
这是一个非常糟糕的解决方案。每次我想分离测试时更改测试,就像运行所有测试一样繁琐/慢。 这在我看来是不好的做法 – BentOnCoding 2016-11-02 20:59:05