单元测试委托方法

dev*_*ium 5 c# java tdd unit-testing

对一个方法进行单元测试是否有任何意义,它所做的唯一事情就是委托另一个对象的工作?例子:

class abc {

    ...

    public void MoveLeft()
    {
        fallingPiece.MoveLeft();
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

出于学习目的,我正在对我现有的一些课程进行单元测试。例如,为这个 MoveLeft() 方法进行单元测试似乎有点奇怪。但我不确定如果我采用测试优先的话会怎样。

谢谢

Gis*_*shu 4

如果我这样做,你的代码会崩溃吗?如果是这样,那么您需要进行测试来捕获它。

class abc {
    ...
    public void MoveLeft()
    {
        // fallingPiece.MoveLeft();
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

假设: abc 是公共/公开类型,fallingPiece 是依赖项。如果这种情况成立,那么您需要一个测试来测试 MoveLeft 行为。如果它不是公共类型,那么您需要对使用 abc 作为协作者/依赖项的公共类型 XYZ 进行测试。您不直接测试它,但仍然需要测试它。