【问题标题】:Integration or unit testing? Testing classes without access to external systems集成还是单元测试?在不访问外部系统的情况下测试类
【发布时间】:2018-08-15 14:20:47
【问题描述】:

集成测试依赖于外部系统,例如数据库或网络连接。这些组件应该在单元测试中模拟。 但是当我们测试三个不同的类时,它们的行为相互依赖,这是集成测试还是单元测试?这些课程应该被嘲笑吗?让我们假设这些类无法访问外部系统,并且它们的行为是严格相关的。

【问题讨论】:

    标签: java unit-testing testing integration-testing


    【解决方案1】:

    首先,术语因公司而异。

    如果我没记错的话,根据“Google 如何测试软件”一书,他们将测试称为“小型测试”、“中型测试”和“大型测试”。 其他公司称其为“白盒测试”、“单元测试”、“集成测试”、“端到端测试”。即使在一家公司中使用相同的名称,在另一家公司中也可能意味着不同的含义。

    其次: 模拟或不模拟取决于您要测试的内容。如果您想测试这 3 个类的交互,那么我建议按原样使用所有三个类,除非:如果您想隔离一个类的行为或想要一种难以实现的行为/不切实际的行为/尚未 -实现行为或者很难使用其他类,我建议模拟其他类。

    【讨论】:

      【解决方案2】:

      据我所知。

      两种测试的目的彼此不同。 https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-842-fundamentals-of-systems-engineering-fall-2015/lecture-notes/MIT16_842F15_Ses9_Ver.pdf

      但单元测试可能支持集成测试;如果使用的单元测试框架支持。

      【讨论】:

        猜你喜欢
        • 2023-01-09
        • 2013-07-13
        • 2021-12-19
        • 2014-09-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多