相关疑难解决方法(0)

在Android junit测试用例中获取测试项目的上下文

有谁知道如何在Android junit测试用例中获得Test项目的上下文(扩展AndroidTestCase).

注意:测试不是仪器测试.

注2:我需要测试项目的上下文,而不是测试的实际应用程序的上下文.

我需要这个从测试项目的资产加载一些文件.

junit android

100
推荐指数
8
解决办法
6万
查看次数

Android测试原始资源

我在Android Studio中有以下文件夹结构:

??? androidTest
?   ??? java
?   ??? res
?       ??? raw
?           ??? test_file
??? main
    ??? java
    ??? res
        ??? raw
            ??? app_file
Run Code Online (Sandbox Code Playgroud)

我正在尝试访问test_fileandroidTest元素的原始文件夹中存在的资源.这是继承自以下内容的Robotium测试用例中的代码ActivityInstrumentationTestCase2:

InputStream is = this.getInstrumentation()
                 .getContext()
                 .getResources()
                 .openRawResource(R.raw.test_file);
Run Code Online (Sandbox Code Playgroud)

由于无法找到资源,Android Studio会引发参考错误.确切的错误是"无法解析符号test_file".

如何从androidTest资源包中存在的测试用例中引用此资源?

android robotium android-resources

36
推荐指数
2
解决办法
1万
查看次数

在调用getActivity()之前从Setup()中的TestSuite访问应用程序上下文

我有一个Activity从方法中的Application扩展类(应用程序上下文)中提取对象OnCreate().

单元测试此活动时,所需的对象不存在,因为它是从前一个Activity填充并存储在上述应用程序上下文中.

不用说,当我getActivity()ActivityInstrumentationTestCase2扩展测试用例中调用时,我得到一个空指针异常.

如何在活动开始之前填充上下文并使其可用Activity

更新: 经过一些挖掘后我发现:this.getInstrumentation().getTargetContext()然后将其转换为Application扩展类的类型.但我得到一个类强制转换异常,跟踪指向这个:

04-04 21:02:27.036: INFO/TestRunner(431): started: testIt(edu.rockies.rockies.activity.courses.test.TopicTest)
04-04 21:02:27.126: INFO/TestRunner(431): failed: testIt(edu.rockies.rockies.activity.courses.test.TopicTest)
04-04 21:02:27.126: INFO/TestRunner(431): ----- begin exception -----
04-04 21:02:27.136: INFO/TestRunner(431): java.lang.ClassCastException: android.app.ApplicationContext
04-04 21:02:27.136: INFO/TestRunner(431):     at edu.rockies.rockies.activity.courses.test.TopicTest.setUp(TopicTest.java:27)
04-04 21:02:27.136: INFO/TestRunner(431):     at junit.framework.TestCase.runBare(TestCase.java:125)
04-04 21:02:27.136: INFO/TestRunner(431):     at junit.framework.TestResult$1.protect(TestResult.java:106)
04-04 21:02:27.136: INFO/TestRunner(431):     at junit.framework.TestResult.runProtected(TestResult.java:124)
04-04 21:02:27.136: INFO/TestRunner(431):     at junit.framework.TestResult.run(TestResult.java:109)
04-04 21:02:27.136: INFO/TestRunner(431):     at junit.framework.TestCase.run(TestCase.java:118)
04-04 21:02:27.136: INFO/TestRunner(431):     at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
04-04 …
Run Code Online (Sandbox Code Playgroud)

android unit-testing

31
推荐指数
3
解决办法
2万
查看次数

构造函数未定义错误 - Java

我试图从另一个类中调用一个方法,该方法存在于不同的文件中.

主文件:

public class Test extends AndroidTestCase {
    mTestUtils = new TestUtils(this, TAG, OUTPUT_FILE);
Run Code Online (Sandbox Code Playgroud)

第二档:

public class TestUtils {
    public TestUtils(Context context, String tag, String outputFile) {

        mContext = context;
        mTag = tag;
        mOutputFile = outputFile;
    }
}
Run Code Online (Sandbox Code Playgroud)

它抛出Constructor未定义的错误.任何帮助,将不胜感激.

java android constructor

0
推荐指数
1
解决办法
74
查看次数