所以我正在努力创建我的第一个单元测试。我正在使用 Google Test,该版本目前内置于 Visual Studio 2017 中。这是对概念验证的一次尝试,非常简单。
我在测试代码的解决方案中有一个项目:test.cpp
#include "pch.h"
#include "../ConsoleApplication1/ConsoleApplication1.cpp"
TEST(SumTest, FirstTest) {
EXPECT_EQ(6, sum(2, 4));
}
TEST(SumTest, SecondTest) {
EXPECT_EQ(1, 1);
EXPECT_TRUE(true);
}
Run Code Online (Sandbox Code Playgroud)
我有一个简单的方法可以在 ConsoleApplication1.cpp 中进行测试
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
int sum(int a, int b);
int main()
{
int x = sum(2, 4);
printf("The answer is: %d \n", x);
}
int sum(int a, int b) {
return a + b;
}
Run Code Online (Sandbox Code Playgroud)
一切都编译正常,但是当我从“测试资源管理器”菜单中单击“全部运行”时,我得到以下输出:
[5/7/2018 4:17:42 PM Informational] ------ …Run Code Online (Sandbox Code Playgroud) 我正在为Android制作一个测验程序,为了保持不同语言的兼容性,我将所有测验问题和标签放在我的strings.xml文件中.基本上我正在寻找的功能是在TextView中显示第一个问题,然后当用户提交他们的答案时,它会更新到下一个问题.
这是我的代码以及我收到的错误消息.
--------- beginning of crash
11-16 10:37:21.723 26952-26952/com.example.neil.bsgquiz E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.neil.bsgquiz, PID: 26952
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.neil.bsgquiz/com.example.neil.bsgquiz.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2337)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.content.ContextWrapper.getResources(ContextWrapper.java:87)
at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:81)
at android.support.v7.app.AppCompatActivity.getResources(AppCompatActivity.java:551)
at com.example.neil.bsgquiz.MainActivity.<init>(MainActivity.java:28) …Run Code Online (Sandbox Code Playgroud)