我已经阅读这篇文章如何testing私人方法。 我通常不会testing它们,因为我一直认为只testing将从对象之外调用的公共方法会更快。 你testing私有方法吗? 我应该经常testing它们吗?
我写了一个工厂来生成java.sql.Connection对象: public class MySQLDatabaseConnectionFactory implements DatabaseConnectionFactory { @Override public Connection getConnection() { try { return DriverManager.getConnection(…); } catch (SQLException e) { throw new RuntimeException(e); } } } 我想validation传递给DriverManager.getConnection的参数,但我不知道如何模拟一个静态方法。 我正在使用JUnit 4和Mockito进行testing。 有没有一种好的方法来模拟/validation这个特定的用例?
如何使用JUnittesting具有内部私有方法,字段或嵌套类的类? 为了能够运行一个testing,改变一个方法的访问修饰符似乎是不好的。