gpt4 book ai didi

java - Junit:判断junit是否在运行

转载 作者:行者123 更新时间:2023-11-28 21:29:47 27 4
gpt4 key购买 nike

有没有Junit.isRunning()是junit框架,例如:

public void m() {
if (Junit.isRunning()) {
// load little test data
} else {
// load large real data
}
}

我的问题是:如何确定当前环境是否处于测试阶段(如 rails ENV['RAILS_ENV'] == 'test')

最佳答案

正如其他人评论的那样,这似乎是个坏主意 - 因为您将对与实际生产代码不同的代码进行单元测试。

您可以通过使用像 Mockito 这样的模拟框架来使用模拟数据进行测试:http://code.google.com/p/mockito/ .

假设您正在通过一个简单的 DAO 访问您的数据:

public class DAO {

public Data loadData() {

Data data = null;

// Load data from database and set in data variable ...

return data;
}

您的测试方法可能如下所示:

public class MyClass {

private DAO dao;

public void m() {

dao.loadData();

// Rest of method ...
}

public void setDao(DAO dao) {
this.dao = dao;
}

还有你的测试类:

public class MyClassTest {

@Test
public void testM() {

MyClass myClass = new MyClass();

DAO mockDAO = mock(DAO.class);
Data mockData = mock(Data.class);

when(mockDAO.loadData()).thenReturn(mockData);
myClass.setDao(mockDAO);

// Call method under test
myClass.m();

// Rest of test ...
}

现在被测方法将在单元测试期间使用模拟数据。

关于java - Junit:判断junit是否在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26844722/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com