[英]Test suite issue in robotium
我有一個測試用例文件,包含大約20個擴展ActivityInstrumentationTestCase2的方法(測試用例)。 我需要編寫一個只調用選定的測試用例方法的套件,我知道在junit中有一個接受要執行的方法的方法
suite.addTest( new AllTestCases("testcase1"));
有沒有類似的方法來做android機器人的東西? 如果是的話,請幫我解決這個問題。 謝謝。
你不能像new AllTestCases("testcase1");
那樣進行調用new AllTestCases("testcase1");
因為所有與Android相關的測試類都繼承自AndroidTestCase
或InstrumentationTestCase
並且這些類都沒有公開一個以字符串作為參數的構造函數。
您可以查看android.test.suitebuilder.TestSuiteBuilder
但即使這個類也不允許運行單獨的測試方法,它接受包級別的測試。
通過使用Android測試注釋(例如@SmallTest
, @MediumTest
, @LargeTest
等),您可能會有一些運氣實現目標。這些將允許您使用以下命令僅定位指定的帶注釋的方法:
adb shell am instrument -w -e size <small|medium|large> com.youproject.test/android.test.InstrumentationTestRunner
最后,可以直接從eclipse中定位單個測試方法或類。
要直接從命令行運行單個測試用例:
adb shell am instrument -w -e class
< Test-Class-With-Package-Name > #
< Test-Method-Name > < Package-Name-Of-Test-App > /
< Instrumentation-Name-Defined-In-Manifest >
例:
adb shell am instrument -w -e class com.myapp.test.ActivityFragmentTest#testLogin com.myapp.test/android.test.InstrumentationTestRunner
您可以使用“adb shell am instrument”命令的“-e”參數以編程方式運行各個測試用例。 例如,對於'com.foo.bar.FooTest'中的方法'testFoo()',您可以運行:
adb shell am instrument -w \\ -e“class com.foo.bar.FooTest#testFoo”\\ com.foo.bar.test / android.test.InstrumentationTestRunner
http://developer.android.com/guide/developing/testing/testing_otheride.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.