无法访问 junit 测试类中的包私有方法

Q L*_*Liu 4 java methods junit visibility

所以现在我的项目中有以下标准包名称设置:

SampleClass.java 看起来像这样:

package main.java.model;

public class SampleClass {
    int packagePrivateMethod() {
    return -1;
    }
}
Run Code Online (Sandbox Code Playgroud)

SampleClassTest.java 看起来像这样:

package test.java.model;

import main.java.model.SampleClass;

public class SampleClassTest extends junit.framework.TestCase {
    private SampleClass sampleClass;

    public void setUp() {
    this.sampleClass = new SampleClass();
    }

    public void test_packagePrivateMethod() {
    // this method can't be called right now why?
    //this.sampleClass.packagePrivateMethod();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么不能调用packagePrivateMethod()方法???

Hen*_*nry 5

无法调用,因为两个类不在同一个包中。一个在main.java.model另一个在test.java.model

  • 但是这里的最佳答案呢:http://stackoverflow.com/questions/3004710/what-is-the-advantage-of-the-src-main-java-convention (2认同)