所以我有一个Database类,它有一个扩展SQLOpenHelper的依赖项,我正在测试使用Android检测测试和Mockito来模拟依赖项.我们注意到Mockito实际上并没有Mockito.mock(class)在实际代码运行时嘲笑实现,并且正如我们所期望的那样抛出空指针异常.在API 19设备上,测试按预期运行,并且模拟正常工作.
有没有人有任何建议或事情要尝试?我尝试过具有类似结果的真实设备和模拟器.这可能是一个Mockito问题,还是一个dex-maker问题?我在搜索时没有找到任何信息.
经过一些更多的测试,我用Mockito模拟的任何类实际上只是使用了实现.这是我的依赖项
androidTestCompile 'org.mockito:mockito-core:1.10.19'
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
Run Code Online (Sandbox Code Playgroud)
注意:如果这有任何区别,这也在库模块中.
所以我有一个ApplicationComponent用于将单例注入到我的片段和演示者中,但我正在尝试创建一个组件以注入AppComponent所做的同一个演示者.沿着这些方向的东西.
@Component{modules = FileManagerModule.class}
public interface FileManagerComponet
{
public void inject(MyPresenter presenter);
}
@Component{modules = AppModule.class}
public interface AppComponent
{
public void inject(MyPresenter presenter);
}
@Module
public class AppModule
{
private Context appContext;
@Provides
@Singleton
public SharedPreferences preferences()
{
return appContext.sharedPreferences();
}
...
}
@Module
public class FileManagerModule
{
private Context activityContext;
@Provides
public FileManager FileManager()
{
return new FileManager(activityContext);
}
...
}
Run Code Online (Sandbox Code Playgroud) 我讨厌提出愚蠢的问题,但我已经通过MSDN文章几次并尝试了一小时的东西,但无论我尝试什么,我都无法使这种格式起作用.这是我正在尝试解析的内容:
星期四,6月22日
同
bool parsed = DateTime.TryParseExact("Thu, Jun 22", @"ddd, MMM dd", CultureInfo.Invariant, DateTimeStyles.None, out dateAndTime);
Run Code Online (Sandbox Code Playgroud)
使用格式:
ddd, MMM dd
Run Code Online (Sandbox Code Playgroud)
删除ddd,工作原因我很确定第一部分有什么东西,但我不确定是什么.我试过用''围绕逗号并用反斜杠逃避它,没有运气.