Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 确保注释存在的ArchUnit_Java_Unit Testing_Archunit - Fatal编程技术网

Java 确保注释存在的ArchUnit

Java 确保注释存在的ArchUnit,java,unit-testing,archunit,Java,Unit Testing,Archunit,版本为0.12的给定库: 是否可以测试场景“用a注释的方法也应该用B注释,或者在用B注释的类型中声明” 例子: A.java @Target({ElementType.METHOD}) @保留(RetentionPolicy.RUNTIME) 公共@接口A{ } B.java @Target({ElementType.METHOD,ElementType.TYPE}) @保留(RetentionPolicy.RUNTIME) 公共@接口B{ } TestCases.java 公共类测试用例{

版本为0.12的给定库:

是否可以测试场景“用
a
注释的方法也应该用
B
注释,或者在用
B
注释的类型中声明”

例子: A.java

@Target({ElementType.METHOD})
@保留(RetentionPolicy.RUNTIME)
公共@接口A{
}
B.java

@Target({ElementType.METHOD,ElementType.TYPE})
@保留(RetentionPolicy.RUNTIME)
公共@接口B{
}
TestCases.java

公共类测试用例{
静态类应该失败{
@A
公屋{
}
}
静态类应为类{
@A
@B
公屋{
}
}
@B
静态类也应该使用{
@A
公屋{
}
}
}
我试过什么? 我认为,
ArchConditions.bedecledin类可以完成这项工作,所以我准备了以下规则:

methodsshouldconnection rule=methods()
.那()
.区域标注为(A类)
.should()
.未注明(B级)

.或应(包括在未注明(B类))的类别中)// 结果是,我不必要地尝试将参数传递给
或should
方法。为实现我的目标,应使用无参数方法扩展规则:

methods()
.那()
.区域标注为(A类)
.should()
.未注明(B级)
.orShould()
.bedecledinstath()类
.注明的区域(B类);

结果是,我没有必要尝试将参数传递给
或should
方法。为实现我的目标,应使用无参数方法扩展规则:

methods()
.那()
.区域标注为(A类)
.should()
.未注明(B级)
.orShould()
.bedecledinstath()类
.注明的区域(B类);