|
|
1
54
这是一个老问题,但是注释处理器测试的状态似乎没有得到任何改善,所以我们发布了 Compile Testing 今天最好的医生都在医院 package-info.java ,但总体思路是,当使用注释处理器运行时,有一个流畅的API用于测试编译输出。例如
这显然比模拟简单得多,而且与典型的集成测试不同,所有输出都存储在内存中。 |
|
|
2
9
您是对的,模拟注释处理API(使用类似easymock的模拟库)是痛苦的。我尝试了这种方法,但很快就失败了。您必须设置许多方法调用期望。这些测试变得无法维护。 A. 对我来说相当不错。我必须执行该程序的各个部分 javax.lang.model.* API I needed for my tests 这是启动javax.lang.model对象的测试的一部分。设置后,模型应与Java编译器实现处于相同的状态。
静态工厂方法在类中定义
你可以看一看 source code of the Quickcheck @Samples and @Iterables source code generator tests 维尔·格尔克! |
|
|
3
2
jOOR是一个小型Java反射库,它还提供了对内存中Java编译API的简化访问
|
|
|
5
0
我用过
http://hg.netbeans.org/core-main/raw-file/default/openide.util.lookup/test/unit/src/org/openide/util/test/AnnotationProcessorTestUtils.java
虽然这是基于
Thomas关于模拟整个JSR269环境的建议将导致一个纯粹的单元测试。相反,您可能希望编写更多的集成测试来检查您的处理器在javac中的实际运行情况,以确保它是正确的,但只希望避免磁盘文件。这样做需要您编写一个模拟
|
|
|
6
0
一个选项是将所有测试捆绑在一个类中。对于给定的一组测试,编译等的半秒是一个常数,我假设测试的实际测试时间可以忽略不计。 |
|
|
7
0
Elementary ,一套JUnit5扩展,为单元测试提供了一个真正的注释处理环境。 大多数库通过运行注释处理器来测试它们。然而,大多数注释处理器都相当复杂,并且被分解为更细粒度的组件。通过运行注释处理器来测试单个组件是不可行的。相反,我们使注释处理环境可用于这些测试。
下面的代码片段演示了如何测试
通过使用
The Problem with Annotation Processors 这详细说明了单元测试注释处理器的问题。 |
|
|
wavesinaroom · 断言结构向量长度 1 年前 |
|
|
Tim Kirkwood · 比较空数据帧 1 年前 |
|
Kamran Khan · 使用单元测试ASP。NET核心 2 年前 |
|
|
paymer · 为什么我的代码没有删除我的单元测试生成的zip文件? 2 年前 |
|
|
Ricky Mo · 角度测试如何模拟导入的const 2 年前 |
|
|
Natty · Visual Studio中缺少“代码覆盖率结果” 2 年前 |