【问题标题】:Test Setup routines design pattern测试设置例程设计模式
【发布时间】:2013-02-05 22:36:07
【问题描述】:

我有一个扩展 JUnit TestCase 类的类。该测试有许多需要执行的“设置”例程。这些例程之一是将一些数据插入数据库,例如,另一个是将 JMS 消息发送到 EMS 队列。

目前,所有这些功能都在测试类中被覆盖的 setUp 方法中。但是,必须有更好的方法来做到这一点。我可能还想使用依赖注入来使测试类更通用。

谢谢。

【问题讨论】:

  • “一定有更好的方法来做到这一点”您当前的方法遇到了什么问题?
  • 当您使用setUp() 在数据库中插入数据并将 JMS 消息排入队列时,您并不是真正的单元测试......您通常应该在运行时存根/模拟依赖于外部资源的代码部分单元测试。
  • @tieTYT 该方法非常长,有 100 行,可读性/可维护性不强。我只是想把它拆分一下,避免过于复杂。
  • @AndersR.Bystrup 这是一个集成测试
  • @Nick 很公平,这并不明显。我已经添加了集成测试标签。

标签: java design-patterns testing junit integration-testing


【解决方案1】:

我不认为依赖注入是(必然的)答案,除非您计划为您的测试用例编写测试。如果我是你,我会做最简单的事情,那就是将这个设置代码提取到类中。例如,JmsSetup 类和 DatabaseSetup 类。让您的设置方法创建并使用这些类。

从那里开始,如果开始变得混乱,您可以做更多事情,但在到达之前不要过桥。

【讨论】:

    【解决方案2】:

    没有什么能阻止您将这些设置代码段分解为单独的类并使用您喜欢的任何其他 OO 原则。然后,您可以有一个简单的设置例程,将其全部委托给执行实际工作的多个类,因此可以在其他测试用例中重用..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-12
      • 2011-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      相关资源
      最近更新 更多