Java测试类中待测试类的实例

Java测试类中待测试类的实例,java,spring,unit-testing,junit,dependency-injection,Java,Spring,Unit Testing,Junit,Dependency Injection,在测试类中获取要测试的类实例的最佳实践是什么? 使用 classtobetest classtobetest=new classtobetest(); 在测试类内部 或 从Spring上下文中获取,如下所示: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(位置={“/服务测试配置.xml”}) 公共类myserietest{ @自动连线 我的服务; ... } 编程中有一条简单的规则,可以指导这些问题: 你做某事不是

在测试类中获取要测试的类实例的最佳实践是什么?
使用

classtobetest classtobetest=new classtobetest();
在测试类内部

从Spring上下文中获取,如下所示:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(位置={“/服务测试配置.xml”})
公共类myserietest{
@自动连线
我的服务;
...
}

编程中有一条简单的规则,可以指导这些问题:

你做某事不是因为你能做,而是因为这样做是有意义的

意思:你总是努力写最简单的代码来解决你的问题

那么什么时候

ClassToBeTested classToBeTested = new ClassToBeTested();
对于您的测试用例来说已经足够了,并且为您提供了编写一个好的测试所需的一切,然后您就可以使用它了

如果您需要从基于注释的DI方法中获得“更容易”的东西,那么您可以使用该方法


话虽如此,也有一些惯例。当大多数程序员会做的“典型”事情。。。就是使用注释方法,那么这就是您应该使用的方法。

最好尝试使用自动布线,以便与更干净、测试友好的代码和将来的更改保持一致


将来使用“新”可能会有问题,但自动布线可能会节省您的时间

它有任何依赖性吗?如果有,第二个案例将为您提供这些信息。如果没有,或者你愿意自己提供,两者都可以。我很感激你能迅速接受,很高兴你发现答案很有用。