【问题标题】:Is there any tools to record the Java objects for unit testing?是否有任何工具可以记录 Java 对象以进行单元测试?
【发布时间】:2015-02-16 07:40:02
【问题描述】:

我想编写一些单元测试并且必须创建或模拟在我的程序中使用的对象。我想知道是否有任何工具可以在实际运行期间捕获和记录我的程序的对象并将它们用于单元测试(与端到端测试中的 Selenium Recorder 相同)?

【问题讨论】:

    标签: unit-testing testing junit mocking tdd


    【解决方案1】:

    我从未听说过这样的工具。你必须自己写。

    您可以依赖应用程序的持久层:

    • 在应用程序执行的某个特定点存储对象,
    • 在您的测试中再次加载这些对象。

    您可能会对databene-benerator 之类的工具感兴趣

    它是一个框架,用于为您的被测系统生成真实有效的大量测试数据

    【讨论】:

    • 好的,jtor 看起来很有趣
    【解决方案2】:

    我不得不在没有任何测试的情况下重构一个大型(生产)代码库,不幸的是什么也没找到,所以我不得不自己开发一个工具。主要目标是可扩展性(在每个分析阶段插入的能力)和质量(单元测试的高代码覆盖率)。

    因此,任何正在寻找此类工具的人都可以尝试testrecorder。有几种方法可以根据实际使用情况生成测试。最简单的可能是使用callsite recorder

    try (CallsiteRecorder recorder = new CallsiteRecorder(ExampleObject.class.getDeclaredMethod("inc"))) {
      printTest(recorder.record(() -> {
        int doubleInc = exampleObject.inc().inc().get();
        System.out.println(doubleInc);
      }));
      printTest(recorder.record(() -> {
        int resetInc = exampleObject.reset().inc().get();
        System.out.println(resetInc);
      }));
    }
    

    【讨论】:

      猜你喜欢
      • 2017-09-27
      • 1970-01-01
      • 2017-12-19
      • 2012-04-26
      • 1970-01-01
      • 2011-03-16
      • 2010-11-14
      • 1970-01-01
      • 2020-06-04
      相关资源
      最近更新 更多