我正在使用 Java 1.8 并在接口中使用默认方法。由于我们的目标是为我们拥有的所有方法编写 JUnit,因此我需要为默认方法编写 Junit。有人可以帮助我知道我们是否可以实现它。
我的界面如下。
public interface DataFilter {
default public TableInclusions parseYaml(String path) throws IOException {
Resource resource = new ClassPathResource(path);
Yaml yaml = new Yaml();
yaml.setBeanAccess(BeanAccess.FIELD);
return yaml.loadAs(resource.getInputStream(), TableInclusions.class);
}
public DBMSEvent filter(DBMSEvent jsonString) throws FilterException;
public void setYaml(String path);
}
Run Code Online (Sandbox Code Playgroud)
我是否需要为实现此接口的类的方法编写 Junit 并使用此默认方法来测试它?
在您的测试中,您可以执行以下操作:
DataFilter dataFilter = new DataFilter() {
//Add no-op implementation for other methods
};
datafilter.parseYaml(testPath);
Run Code Online (Sandbox Code Playgroud)
但是看起来添加你的界面我认为你根本不应该有这个默认方法。我认为最好在其中注入带有此方法的 TableInstructorParser。这对您的关注点分离会更好。
| 归档时间: |
|
| 查看次数: |
557 次 |
| 最近记录: |