Jasmine中的"it()"代表什么?

16

对于Jasmine Javascript测试框架中的函数名称it(),我很好奇它代表什么意思。它是否代表类似于“独立测试”之类的东西?


不确定,但我认为这只是语言语义。it期望某些东西,it执行某些操作等等... - elclanrs
谢谢提问。我已经为Jasmine文档提交了一个pull请求,它已经合并到https://github.com/jasmine/jasmine/pull/1772中了。 - johnlinp
2个回答

25

它表示“它”,就像单词“it”一样。测试声明读起来像一个句子。你可以通过的功能来描述一个对象。就这么简单。

例如:

保龄球是圆的

保龄球有3个孔

可能会被翻译成以下测试层次结构:

Bowling Ball
  it is round
  it has three holes

这将转化为以下测试设置:

describe(BowlingBall, function() {
  it('is round', function() {});
  it('has three holes', function() {});
});

因为它的阅读效果很好,所以它成为区分个别测试用例的方式。它还鼓励您以一致的方式编写测试描述,因为it是描述测试的句子的一部分,这使得您的测试套件在长期内更易读。

最终,BDD完全关注测试编写者的可读性。所以这只是一个简单的补充。


1

没有这样的事情。 :)

这是一个块,可以使您的规范更易读。特别是,您可以编写以下内容:

describe("When the user clicks the button", function() {
    it("renders the div with class .hello", function() {
        // your assertion here
    });
});

所以你在控制台中的测试输出看起来像:

When the user clicks the button renders the div with class .hello

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接