Java 如何使用Archunit仅测试具有特定Spring配置文件的类
我有一个Spring应用程序,它有不同的配置文件,例如“dev”和“production”。我用Archunit测试架构。我有这样的测试Java 如何使用Archunit仅测试具有特定Spring配置文件的类,java,spring,archunit,Java,Spring,Archunit,我有一个Spring应用程序,它有不同的配置文件,例如“dev”和“production”。我用Archunit测试架构。我有这样的测试 @Test public void Services_should_only_be_accessed_by_Controllers() { JavaClasses importedClasses = new ClassFileImporter().importPackages("com.mycompany.myapp");
@Test
public void Services_should_only_be_accessed_by_Controllers() {
JavaClasses importedClasses = new ClassFileImporter().importPackages("com.mycompany.myapp");
ArchRule myRule = classes()
.that().resideInAPackage("..service..")
.should().onlyBeAccessed().byAnyPackage("..controller..", "..service..");
myRule.check(importedClasses);
}
我的包中的类具有不同的配置文件。我怎样才能只包含具有Spring概要文件“production”的类?JavaClasses importedClasses=new ClassFileImporter().importPackages(“com.mycompany.myapp”)
.that(descripebedpredicate.descripe(“profile”),clazz->
课堂讲义(Profile.class)和
Arrays.asList(clazz.getAnnotationOfType(Profile.class).value()).contains(“production”);