selectBoardSize(int x,int y)等方法。返回新的电路板尺寸。
此方法具有值,并且具有可以在项目中进行单元测试和比较的参数。
无效的方法怎么样?喜欢void playSound。此方法仅播放游戏的声音。不接受任何值,也不返回任何值。我们应该如何为这些方法编写单元测试?
答案 0 :(得分:7)
根据其目的,void
无参数方法必须结合以下内容:
您应该构建单元测试,以验证是否发生了所需的更改。
答案 1 :(得分:0)
首先,为了涵盖一些术语,技术上对音频或图形输出的测试是集成测试,因为它涉及代码和某些硬件设备的组合。话虽如此,JUnit documentation讨论了处理void
方法的一般方法。您可以测试副作用来调用void
方法。您可以比较受调用方法影响的事物的状态,而不是将playSound()
的输出与控制值进行比较。
InputStream is = new InputStream("yourMusic.mp3");
BufferedInputStream bis = new BufferedInputStream(is);
playSound(bis); // play the sound using the input stream
assertEquals(-1, bis.read()); // make sure entire sound has been played