小编Dil*_*lon的帖子

Android在测试包中测试新服务

我想在框架中测试一个类,该框架基于intent启动不同的服务.但是,我有问题,创建TestService内部的androidTest/连接时,Android的测试正在运行.getService方法返回null.

在此先感谢任何指导和帮助!

@RunWith(AndroidJUnit4.class)
public class WakefulIntentSenderTest {
    private static final String SOME_ACTION = "someAction";

    private static class TestService extends Service {
        private boolean mCalled;

        @Override
        public void onCreate() {
            super.onCreate();
        }

        @Override
        public IBinder onBind(final Intent intent) {
            return null;
        }

        @Override
        public int onStartCommand(final Intent intent, final int flags, final int startId) {
            mCalled = true;
            return 0;
        }

        public boolean wasCalled() {
            return mCalled;
        }

        public class TestServiceBinder extends Binder {

        public …
Run Code Online (Sandbox Code Playgroud)

java junit android android-testing android-instrumentation

12
推荐指数
1
解决办法
449
查看次数

Dagger 现场注入测试

我正在使用 Dagger 2,并且在为我的类实现测试时在模块中生成单例提供程序时遇到一些问题。

class SomeContentProvider extends ContentProvider {

    // this should be normal foo if run by application, 
    // or mocked foo if run by tests
    @Inject Foo foo;

    public Provider() {
        Component.getComponent().inject(this);
    }
}

@Module
class ProviderModule {
    @Singleton
    @Provides
    Foo providesFoo() {
        returns new Foo();
    }
}

@Module
class ProviderTestModule {
    @Singleton
    @Provides
    Foo providesFoo() {
        returns Mockito.mock(Foo.class);
    }
}


public class SomeContentProviderTests extends InstrumentationTestCase {

    @Inject Foo foo; // this should be mocked Foo

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android mockito dagger-2

5
推荐指数
1
解决办法
4240
查看次数