实现JUnits的大多数示例代码都以以下注释的重要性开始:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(MockServletContext.class)
请协助。
JUnit是一个独立于Spring的测试框架。这意味着测试默认情况下不使用Spring。
JUnit使用Runner来运行测试。类级别注释@runwith
告诉JUnit,它应该使用特定的runner
而不是默认的BlockJUnit4ClassRunner来运行测试。例如,@runwith(SpringJUnit4ClassRunner.class)
为JUnit添加了有助于测试Spring应用程序的附加特性。
对于大多数测试,您不需要特定的运行器。默认运行程序为大多数测试提供了足够的特性。
public class ExampleTest {
@Mock
private YourClass something;
@InjectMocks
private AnotherClass sut;
@Rule
public final MockitoRule mockito = MockitoJUnit.rule();
@Test
public void shouldDoSomething() {
//test code
}
}
使用mockitoAnnotations#initMocks在@before
方法中初始化模拟。
public class ExampleTest {
@Mock
private YourClass something;
@InjectMocks
private AnotherClass sut;
@Before
public void initMocks() {
MockitoAnnotations.initMocks(this);
}
@Test
public void shouldDoSomething() {
//test code
}
}
使用MockitoJunitRunner运行测试。运行器的缺点是只能由一个运行器
运行,因此不能将其与另一个运行器
组合。
@RunWith(MockitoJUnitRunner.StrictStubs.class)
public class ExampleTest {
@Mock
private YourClass something;
@InjectMocks
private AnotherClass sut;
@Test
public void shouldDoSomething() {
//test code
}
}
你能给我解释一下这段代码吗,为什么我们没有任何返回类型,代码仍然工作正常?
文档说这个库运行在GPU上。如果我功能强大的笔记本电脑没有GPU,我还能运行Deeplearning4J吗?
我正在从文档中学习反应,但不确定在这个例子中超级()做什么。通常,它不需要传递给创建新实例的参数,然后调用React吗?组件的构造函数方法将这些参数合并到实例中?没有任何争论它是做什么的?
我试图了解DI在我们的代码库(Kotlin)中是如何使用的。我们正在使用googleguice进行依赖注入。 下面是一个示例类: 在模块类中: DepB类别: 据我所知,对于用< code>@Inject注释的变量,Google Guice会使用模块类来解决这些依赖关系。所以< code>DepA对象的注入方式是有意义的。 但是呢?我们如何能够在不指定任何位置的情况下注入DepB?
我正在使用Cucumber for BDD、JUnit和Selenium构建一个自动化框架,我们在云中有一个testrail实例用于测试管理,我实现了testrail API以从那里获取所有测试用例,问题是我无法运行这些步骤获取测试用例,因为总是验证第一个功能文件是否存在。 我尝试过结果总是一样的: 在[classpath:features] 0场景0步骤0m0.019s中找不到功能 这是启动该过
我正在编写一个剧本,它旋转X个EC2 AWS实例,然后在它们上安装一些软件(apt包和pip模块)。当我运行playbook时,它会在我的本地系统上执行shell命令,因为Ansible不会运行,除非我指定一个主机并放置localhost。 在playbook中,我尝试在顶层指定“hosts:all”,但这只会让playbook运行一秒钟而不做任何事情。 EC2实例创建得很好,“wait for