我想测试关闭并在junit中打开信息。
public void shutDownState(Context cxt) {
Log.d(TAG, "in shutdown fun");
SimpleDateFormat sdfDateTime1 = new SimpleDateFormat(
"yy-MM-dd HH:mm:ss", Locale.US);
shutDownTime = sdfDateTime1.format(System.currentTimeMillis());
try {
long swithchoffdata;
if (!"00:00:00.000".equals(dsd.getLastRecord())) {
swithchoffdata = dsd.insert(shutDownTime.toString(),
switchOnTime);
Log.d(TAG, "switchoffdata: " + swithchoffdata);
}
} catch (NullPointerException ne) {
ne.printStackTrace();
Log.d(TAG, "Swithch off error: ");
}
Log.d(TAG, "swith off: " + dsd.selectAll());
}
public void swithOnState() {
Log.d("appcheck", "switch on func");
SimpleDateFormat sdfDateTime1 = new SimpleDateFormat(
"yy-MM-dd HH:mm:ss", Locale.US);
switchOnTime = sdfDateTime1.format(System.currentTimeMillis());
dsd.updateLastRecord(switchOnTime);
Log.d("appcheck", "switch on: " + dsd.selectAll());
}
这些是我在实际项目中的方法。实际上我应该在我的测试类中对这些方法进行单元测试。请帮帮我。提前谢谢。
答案 0 :(得分:0)
这是一个可行的模板。关于您的代码有很多未解答的问题。例如,这些方法是否在Activity
中?我这么认为。我推荐AndroidTestCase
,因为它不会启动活动,因此消耗的开销更少,运行速度更快。 AndroidTestCase
提供mContext
成员变量,以便您可以将上下文传递给shutDownState()
方法。
package com.example.test;
import android.test.AndroidTestCase;
import com.example.YourActivity;
public class YourActivityTest extends AndroidTestCase
{
private YourActivity mActivity;
protected void setUp() throws Exception
{
super.setUp();
mActivity = new YourActivity();
// whatever else you need
}
protected void tearDown() throws Exception
{
super.tearDown();
// whatever else you need
}
public void testShutDownState()
{
mActivity.shutDownState(mContext); // mContext is a dummy context provided
// by AndroidTestCase
// put some asserts here to confirm correct operation
}
public void testSwithOnState()// note: you misspelled switch
{
mActivity.swithOnState();
// put some asserts here to confirm correct operation
}
}
您可以在通话后使用断言检查您的班级成员变量(例如switchOnTime
)。
希望这有帮助。