【发布时间】:2010-12-24 19:16:00
【问题描述】:
我正在使用 JDepend 来分析我的架构并创建结构测试来验证分层架构中的依赖关系。两个相关层是 com.domain 和 com.infrastructure。领域具体取决于基础设施层。
为什么下面的测试失败了?
import java.io.IOException;
import jdepend.framework.DependencyConstraint;
import jdepend.framework.JDepend;
import jdepend.framework.JavaPackage;
import junit.framework.TestCase;
public class DependencyTest extends TestCase {
private JDepend jdepend;
@Override
public void setUp() throws IOException {
jdepend = new JDepend();
jdepend.addDirectory("build/classes/com");
}
public void testDomainDependsOnInfastructure_ShouldBeTrue() {
DependencyConstraint constraint = new DependencyConstraint();
JavaPackage domainPackage = constraint.addPackage("com.domain");
JavaPackage infastructurePackage = constraint.addPackage("com.infrastructure");
domainPackage.dependsUpon(infastructurePackage);
jdepend.analyze();
assertEquals("Domain doesn't depend on Infrastructure layer", true, jdepend.dependencyMatch(constraint));
}
}
jdepend.analyze() 返回相关的包,所以我知道它正在查找我的代码。有什么想法吗?
【问题讨论】: