0
我正在使用Java中提供的CodeModel来处理复杂的代码生成。我设法以这种方式设置我的单元测试,以便测试生成小而功能完整的Java代码,该代码在内存中编译并生成类从内存加载。如果我不输出生成的代码,一般情况下都是相当快的。断言失败时触发函数
由于生成器代码不知道生成的类,因此我使用反射来生成类的fire方法,该方法运行良好。这些方法也可能失败,因为我使用反射来确保方法确实通过检查对象的状态来预期工作。
我的问题是我不想记录生成的代码,每次测试运行。但是如果测试失败,我想查看生成的代码。有很多测试,并且因为我使用了infintest,所以我的eclipse变得更慢,因为infinitest不断积累各种测试的输出。
我可以设置junit,以便在测试失败时调用我的函数吗?例如
boolean compileSuccessful = compile();
Assert.assertTrue("Ooops, you generated bad code", compileSuccessful);
如果上述断言失败,我想输出生成的代码,看看出了什么问题。
完美。像魅力一样工作。谢谢。 – user937720 2013-02-13 17:40:40