Google app engine GAE,日志行在单元测试中引发空指针异常

Google app engine GAE,日志行在单元测试中引发空指针异常,google-app-engine,junit,Google App Engine,Junit,当我运行单元测试时,我的日志行抛出null指针异常。在本地服务器上运行或上传到appengine时,我没有收到任何错误。我忘了在什么地方包括一个测试库了吗 java.lang.NullPointerException at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160) at javax.servlet.GenericServlet.log(GenericServlet.java:25

当我运行单元测试时,我的日志行抛出null指针异常。在本地服务器上运行或上传到appengine时,我没有收到任何错误。我忘了在什么地方包括一个测试库了吗

java.lang.NullPointerException
    at javax.servlet.GenericServlet.getServletContext(GenericServlet.java:160)
    at javax.servlet.GenericServlet.log(GenericServlet.java:254)
    at se.stuff.servlet.MyServlet.doGet(MyServlet.java:14)
    at se.stuff.MyServletTest.test(MyServletTest.java:14)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    ...
我的servlet:

public class MyServlet extends HttpServlet {
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
    // Do stuff...
    log("log stuff");
}
}

我的测试:

public class MyServletTest {    
    @Test
    public void test() throws IOException {
        MyServlet s = new MyServlet();
        s.doGet(null, null);
    }
}

测试调用
s.doGet(null,null)
中的null会导致NullPointerException。servlet可能很好,但是测试没有意义。我建议取消该测试,首先在doGet中添加一些内容,然后使用从外部测试servlet。

不,MyServlet不使用HttpServletRequest和HttpServletResponse参数。只是日志(“日志文件”);我不想用mock把例子弄得乱七八糟。