0
Iam使用mockito执行测试,并且IAM对它非常新。 Iam在Mockito方法和Onmessage方法中使用声明的对象/变量获取空指针异常。 代码片段如下。Mockito方法为使用的变量抛出空指针异常
类A.java
Class A{
@Inject
CheckConnection connection;
public void onMessage(Message m)
{
if(connection.IsInternetavailable==true) //Null pointer is occuring here
{
//Do something with Message
}
else
{
//Do something with Message
}
}
}
类Atest.java-类的Mockito
Class ATest
{
@InjectMocks
A resource;
@Mock
CheckConnection connection;
@Test
public void shouldProcessMessage() throws JMSException {
// Arrange
final String Type = "MessageType";
final String Body = "MessageBody"
final ActiveMQTextMessage message = new ActiveMQTextMessage();
message.setStringProperty("messageType", Type);
message.setText(Body);
// Act
this.resource.onMessage(message); //This method fails i.e. it gives null pointer exception
}
}
呃...你可以从你正在使用的确切代码开始。你的代码片段不合适:'CheckConnection!= CheckInternetConnection'和'onMessage!= OnMessage'。另外,如果你有一个模拟,它不会自动注入到被测对象中。 – Seelenvirtuose
我已经纠正它,现在我认为这总结了它 –
什么是'this.resource'?如果您只是保留程序的重要部分,我们怎么可能帮助您? – Seelenvirtuose