我一直在使用我的abstract
类的存根实现来进行测试。目前,我的单元测试位于test
目录旁边的src
目录中。
我想知道是否有最佳实践可以放置测试中使用的任何存根。我一直在尝试几件事情,但无论我做什么,我的一部分似乎总是受到干扰。
我尝试过的事情:
src
中的包。test
包结构中的某个位置。这似乎是最合理的选择,但我不确定最好的方法是什么。 请记住,我可能过度思考了这一点。是否有关于可以让我放心的最佳实践的信息?转向模拟框架是解决这个难题的方法吗?
非常感谢。
答案 0 :(得分:2)
由于你给出的原因,第三种选择肯定比其他两种更好。我想参考the Maven directory structure during times like this,它似乎并不意味着与你的第三种选择有任何不同。
我所做的是将存根创建为测试内部的内部类。一旦这变得太乱或需要重用,我将存根放在与抽象类相同的包中,但是在test
目录下。
可能值得知道的是,许多项目都在演变为“Builder”对象,其工作原理如下:
Person person = new PersonBuilder().withName("John Doe").withDefaultAddress().build();
你这样做的原因是因为有时需要根据你测试的内容以很多不同的方式创建Person
。只有一个PersonStub
可能还不够。