gpt4 book ai didi

junit - Cucumber 与 JUnit 有何不同?

转载 作者:行者123 更新时间:2023-12-03 20:14:39 25 4
gpt4 key购买 nike

谁能向我解释 Cucumber 之间的区别?和 Junit

据我了解,尽管我不确定它们之间的区别,但它们都用于测试 Java 代码?

它们只是相同测试套件的不同实现还是旨在测试不同的东西?

最佳答案

Cucumber 和 JUnit 不同,解决的问题也不同。

Cucumber 是一个行为驱动设计 (BDD) 框架,它采用以人类可读语言(如英语)编写的“故事”或场景,并将这些人类可读文本转换为软件测试。

这是一个示例 cucumber 故事:

Example Cucumber Test in plain English

cucumber 将知道如何将此文本转换为软件测试,以确保软件按描述工作。输出将告诉您故事是否真的是软件所做的,如果不是,有什么不同:

 failed test

这是固定代码以使 cucumber 测试通过的地方:
passed test

这使得所谓的“可执行规范”成为记录软件支持的所有功能的好方法。这与普通文档不同,因为没有相应的测试,阅读文档的人不知道文档是否是最新的。

可执行规范的其他好处:

  • 非程序员可以阅读和理解测试
  • 非程序员可以测试,因为它们是简单的英语。

  • BDD 结果和可执行规范非常高。它们涵盖了整体功能,也许还有一些边缘案例作为示例,但并未测试所有可能的条件或每个代码路径。 BDD 测试也是“集成测试”,因为它们测试所有代码模块如何协同工作,但它们不会彻底测试所有内容。

    这就是 JUnit 的用武之地。

    JUnit 是一个较低级别的“单元测试”工具,它允许开发人员测试他们代码中每个可能的代码路径。您的代码(或类,甚至方法)的每个模块都是单独测试的。它比 BDD 框架低得多。使用与 Cucumber 示例相同的计算器故事,JUnit 测试将测试许多不同的计算示例和无效输入,以确保程序正确响应并正确计算值。

    希望有帮助

    关于junit - Cucumber 与 JUnit 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26381644/

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