相关疑难解决方法(0)

如何测试私有函数或具有私有方法,字段或内部类的类?

如何对具有内部私有方法,字段或嵌套类的类进行单元测试(使用xUnit)?或者通过内部链接(static在C/C++中)或在私有(匿名)命名空间中使其成为私有的函数?

为了能够运行测试而更改方法或函数的访问修饰符似乎很糟糕.

java tdd unit-testing

2593
推荐指数
36
解决办法
82万
查看次数

模拟Runtime.getRuntime()?

任何人都可以提出任何有关如何最好地使用EasyMock预期来电的建议Runtime.getRuntime().exec(xxx)吗?

我可以将调用移动到另一个实现接口的类中的方法,但不希望在理想的世界中.

interface RuntimeWrapper {
    ProcessWrapper execute(String command) throws IOException;
}

interface ProcessWrapper {
    int waitFor() throws InterruptedException;
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人有任何其他建议?

java junit unit-testing easymock runtime.exec

15
推荐指数
2
解决办法
7088
查看次数

如何用单例测试代码?

我有一个旧的应用程序,其代码片段如下:

public class MyClass
{
    public void executeSomeSqlStatement()
    {
        final Connection dbConn = ConnectionPool.getInstance().getConnection();

        final PreparedStatement statement = dbConn.prepareStatement(); // NullPointerException, if ConnectionPool.getInstance().getConnection() returns null
    }
}
Run Code Online (Sandbox Code Playgroud)

我想编写一个单元测试,当ConnectionPool.getInstance().getConnection()返回null 时,它会验证MyClass.executeSomeSqlStatement不会抛出NullPointerException.

我怎么能这样做(模拟ConnectionPool.getInstance().getConnection())而不改变类的设计(不删除单例)?

java unit-testing mocking

3
推荐指数
1
解决办法
158
查看次数

标签 统计

java ×3

unit-testing ×3

easymock ×1

junit ×1

mocking ×1

runtime.exec ×1

tdd ×1