草庐IT

Android 和 JUnit : Create a JUnit Project or a test source folder

有一个创建AndroidJUnit项目的选项。据我所知,另一种方法是在名为test的同一项目中创建一个文件夹,其中包含与现有项目相同的包名称。这两种方法有什么区别。 最佳答案 当我使用Java进行开发时,我通常会在与我的源相同的项目中创建一个单独的/test文件夹,其下具有相同的包结构。我将两者分开,这样/test内容就不会打包并与源代码一起部署。部署测试或它们所依赖的第3方JAR毫无意义。 关于Android和JUnit:CreateaJUnitProjectoratestsource

android - 如何在 JUnit(非仪器化)Android 单元测试执行的代码中使用 ArrayMap?

如果一个未检测的单元测试(不是从AndroidTestCase的子类)调用使用ArrayMap的代码,它会遇到臭名昭著的Methodxxxinxx.xx.xxnotmocked错误(参见http://tools.android.com/tech-docs/unit-testing-support#TOC-Method-...-not-mocked.-)。在许多情况下,解决此错误的最佳方法是将包含有问题的类的包直接编译到测试目标中,例如。使用json,添加到build.gradle:testCompile'org.json:json:20160212'我不知道有什么方法可以用ArrayM

java - 静态初始化程序似乎在 junit 测试期间不运行

我正在对静态实用程序类的方法进行单元测试:@TestpublicvoidcreateGenreString(){//ArrangeStringexpected1="Action,Adventure,Animation,//ActStringactual1=Utils.createGenreString(newint[]{28,12,16,35});//AssertassertThat(actual1,is(equalTo(expected1)));}此静态方法正在访问一种静态map对象(MovieDbContract.GENRES),它使用整数键从中检索字符串值:publicstati

android - 安卓中的 JUnit

我熟悉android中的JUnit测试..我的问题是如果我们正在使用计算器并且我们想要测试加法运算..如果我们使用更多数量的测试用例(例如30)来测试加法运算。除了重写测试用例30次之外,是否有任何通用方法可以做到这一点,或者是否有任何方法可以将测试用例从excel表或xml文件中获取..?请告诉我有没有更好的方法...提前致谢 最佳答案 您可以通过创建一个函数并在每个JUnit测试中调用它来减少重复代码。例如:publicvoidtest_add_zeroPlusZero(){Assert.assertTrue("Failedon

通知的Android绑定(bind)和JUnit测试

我想测试我的AndroidView模型。特别是当setter是否应该通知更改时。View模型如下所示(具有更多可绑定(bind)属性):publicclassEditViewModelextendsBaseObservable{privateString_comment;@BindablepublicStringgetComment(){return_comment;}publicvoidsetComment(Stringcomment){if(_comment==null&&comment==null){//Nochanges,bothNULLreturn;}if(_comment!

android - 执行 Android JUnit 测试时出现 NoClassDefFoundError

首先有类似here这样的问题或here但是我既没有一些外部库,也没有一个lib文件夹,也没有一些包含的jars之类的东西,所以我想知道我在运行AndroidJunit测试时做错了什么。我的项目结构是这样的:如您所见,我有一个单独的项目用于AndroidJUnit测试。测试类如下所示:publicclassPersistenceManager{privatestaticfinalStringFILENAME="kpzwien_storage";publicstaticvoidpersist(Stringdata,Contextcontext)throwsIOException{FileO

java - JUnit4 测试导致 java.text.ParseException : Unparseable date

我可以在Android项目中成功执行以下代码fragment:SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ",Locale.US);dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));Datedate=null;try{date=dateFormat.parse("2015-08-17T19:30:00+02:00");}catch(ParseExceptione){e.printStackTrace();}现在我将相同的代码fragmen

Android jUnit 测试用例 : When does the activity onCreate() actually get called?

我是测试新手,正在尝试探索jUnit测试和Robotium。我的应用程序有4个屏幕。SplashScreen-->Screen2-->Screen3-->AutocompleteScreen.[init()][checkvaluesgeneratedbyinit()method]自动完成屏幕是用户键入内容的地方,应用程序从大型产品数据库执行自动完成。在初始屏幕中,我正在使用另一个类中的init()方法初始化许多应用程序变量。此init()方法将加载用户首选项、检查数据库创建等...(产品数据库预先打包在apk中,我在首次启动时复制数据库并将其标记在SharedPreferences作为

android - 带有 Espresso 和 JUnit4 的 AWS 设备场

我想在AWS农场中测试我的应用程序,使用androidTestCompile'com.android.support.test:runner:0.4'androidTestCompile'com.android.support.test:rules:0.4'androidTestCompile'com.android.support.test.espresso:espresso-core:2.2.1'androidTestCompile'com.android.support.test.espresso:espresso-intents:2.2.1'androidTestCompile

java - JUnit TestWatcher : failed, 是否可以删除抛出的异常(操作 Throwable/stacktrace)?

在JUnit中,使用TestWatcher并重写failed()函数,是否可以删除抛出的异常并改为做出我自己的断言?用例是:在Android上进行功能测试,当测试导致应用程序崩溃时,我想将NoSuchElementException替换为AssertionError(“应用程序崩溃").我可以毫无问题地进行自定义断言(当我在finished()方法中检测到崩溃时),但是如何删除抛出的异常?因为在我的报告中它为一个测试创建了异常和断言,所以失败的次数比测试失败的次数多,这是合乎逻辑但令人讨厌的。我想知道是否有一种方法可以自定义Throwable对象以删除特定的NoSuchElementE