繁体   English   中英

是否有用于记录Java对象以进行单元测试的工具?

[英]Is there any tools to record the Java objects for unit testing?

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

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

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

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

您可能会被诸如databene-benerator之类的工具所困扰

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

在此处输入图片说明

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

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

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);
  }));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM