【问题标题】:What's the difference between keywords 'test' and 'it'关键字'test'和'it'有什么区别
【发布时间】:2017-12-16 19:00:39
【问题描述】:

在一些不同的测试框架中,我看到有些人在创建测试时使用关键字“test”,有些人使用“it”,而两者似乎都是有效的关键字,似乎根本不会改变测试。

那么有什么区别,我应该在哪里使用它们?

尝试使用谷歌搜索,但您可以想象 Google 可能无法将“测试”和“它”理解为编码关键字,因此结果没有关于此问题的信息。

编辑

我熟悉的框架是用于 JS 测试的 Jest。他们的文档没有说明使用哪一个。我还检查了其他没有给出一致答案的 JS 测试框架。

【问题讨论】:

    标签: unit-testing testing automated-tests tdd integration-testing


    【解决方案1】:

    以两个 PHP 框架为例:

    • PHPUnit
    • PHP 规范

    它们都有其他用途,然后您应该以其他方式和上下文使用它们。

    PHPUnit

    用于单元测试的主要框架。在这里,您使用test 并开始描述测试的内容。在这里,您专注于经过测试的功能。喜欢:testGetAnswerReturnCorrectResult - 你已经提供了功能,现在你正在测试它。

    PHP 规范

    TDD 创建项目的主要框架。在这里,您在测试功能开始时使用it。总的来说,全名如:it_should_return_instance_by_get_answer 描述了一些预期结果的故事。在 TDD 中,您首先编写测试,然后编写代码。

    如果你考虑上下文,那么给定框架的作者使用 others 关键字来描述这个过程是正确的。

    这是关于下一个程序员将​​如何接收你的代码和你让他进行的测试 - 它更多的是关于可读性,而不是技术功能。

    【讨论】:

    • 奇怪的是,这些 PHP 框架将“测试”与单元测试连接起来,将“它”与 TDD 连接起来,因为在快速滚动浏览 Mocha 的(JS 测试)文档之后,感觉就像他们完全以其他方式做的一样。现在我对 Jest 越来越熟悉,它的文档中没有给出任何说明。
    • 这完全取决于框架作者的意图,但在我看来,我所描述的框架的工作方式非常直观。其他语言有自己的标准和政策——这样就有这样的差异也就不足为奇了。
    猜你喜欢
    • 2018-01-28
    • 2021-02-20
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 2019-04-05
    • 2014-05-26
    • 2015-07-28
    • 2010-09-28
    相关资源
    最近更新 更多