当我们将消息发送到RabbitMQ时,如果队列不存在,消息将丢失而不会引发任何错误。
邮件将发布到哪里?死队列?
如何在 JUnit 中模拟“System.getenv("...")”。
目前我正在做:
@RunWith(Parameterized.class)
@PowerMockRunnerDelegate(PowerMockRunner.class)
@PrepareForTest(System.class)
public class TestClass extends BaseTest {
public TestClass(String testCase) {
this.testCase = testCase;
}
@Before
@Override
public final void initTable() throws Throwable {
super.initTable();
PowerMockito.mockStatic(System.class);
PowerMockito.when(System.getenv("ENV_VAR1")).thenReturn("1234");
}
...
}
Run Code Online (Sandbox Code Playgroud)
我同时使用 PowerMock 和 Parameterizedrunner。
我得到以下异常行:
PowerMockito.when(System.getenv("ENV_VAR1")).thenReturn("1234");
Run Code Online (Sandbox Code Playgroud)
例外:
org.mockito.exceptions.base.MockitoException:
'afterPropertiesSet' is a *void method* and it *cannot* be stubbed with a *return value*!
Voids are usually stubbed with Throwables:
doThrow(exception).when(mock).someVoidMethod();
***
Run Code Online (Sandbox Code Playgroud)