Java 无参数测试法
这是我第一次在这里发帖,所以我会尽量做到简洁明了 下面我的方法接受0个参数并读取某个文件,查找要回显到控制台的标记:Java 无参数测试法,java,file,unit-testing,junit,Java,File,Unit Testing,Junit,这是我第一次在这里发帖,所以我会尽量做到简洁明了 下面我的方法接受0个参数并读取某个文件,查找要回显到控制台的标记: protected static serverVersion() { String output = ""; try { File lsbRelease = new File("/path/randomFile.txt"); BufferedReader br = new BufferedReader(new InputStream
protected static serverVersion() {
String output = "";
try {
File lsbRelease = new File("/path/randomFile.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(lsbRelease));
boolean isMatch = false;
String line = "";
// run through file and find the tag
(...)
该方法有三种不同的可能性:
我知道我可以传入一个字符串作为文件路径的参数,然后使用临时文件进行测试,但我希望避免更改原始方法。另外,我希望避免使用另一个框架(即Mockito)。依赖注入是您的朋友。将一个“假”文件作为参数传入,并检查它是否在正确的条件下成功或失败。这不需要我更改原始方法吗?在其当前形式中,该方法与实现细节的耦合过于紧密,这使得很难单独进行单元测试。如果目标是模拟,那么就需要进行一些重构。因此建议使用依赖项倒置。不幸的是,您需要更改它。虽然这不是一件坏事。拥有可变代码是很好的。您希望使其可测试,这是朝着正确方向迈出的一步。感谢@BrandonIbbotson的评论。我很可能会这样做,但其他人-请随意给出其他建议!