草庐IT

android-junit

全部标签

java - 如何使 log4j error() 调用在 jUnit 测试中抛出异常?

我有一个正在使用JUnit(Junit3和4风格的混合)测试的Java项目,其中被测试的类可能会记录log4j错误。如果记录了这样的错误,我想让单元测试失败。是否有一种通用的方法来配置log4j或单元测试基础结构,以在被测代码中对log4jerror()方法进行任何调用都会抛出运行时异常,从而导致测试失败?AOP可能是一种方式,但我也对其他可能性感兴趣。此处的目的是清除代码中错误使用log4jerror()的地方。也就是说,当错误被记录但没有发生异常或错误处理时,它要么不是真正的错误,要么是并且应该被引发。例如:publicclassMyTestextendsTestCase{publ

Android分区挂载原理介绍(上)

一、device-mapper基本原理介绍       1.1dm工作原理       1.2dm实现动态卷(逻辑分区)功能介绍(dm-linear)       1.3dm实现完整性校验功能介绍(dm-verity)       1.4元数据加密(default-key)       1.5dm实现快照功能介绍(snapshot,snapshot-origin,dm-snapshot-merge,bow)       二、vold介绍       2.1vold结构总览       2.2encryptFstab(元数据加解密)   2.3mountFstab(挂载分区)  2.4fbeEn

java - 使用 Mockito 在 JUnit 中使用 PowerMock 和 PowerRule 获取 javassist.NotFoundException

我在JUnit中使用Mockito集成了PowerMock和PowerRule。这是我的依赖项:javassistjavassist3.12.0.GAasmasm3.3.1cglibcglib2.2.2org.powermocpowermock-module-junit41.4.12testorg.powermockpowermock-api-mockito1.4.12testorg.powermockpowermock-module-junit4-rule1.4.12testorg.powermockpowermock-classloading-objenesis1.4.12test

java - Mockito中是否有类似于Junit Setup Method的东西

我有以下场景interfaceDAO{Stringa();Stringb();Stringc();}我创建了这个DAO接口(interface)的模拟,并将其提供给名为DAOProcess的东西。在DAOProcess中,我有各种调用DAO方法a、b和c的方法。现在每次我需要对DAOProcess中的方法进行单元测试时,我都会写成when(mockDAO.a()).thenReturn("test")。无论如何,我可以将这些when(mockDAO.a()).thenReturn("test")移动到所有测试用例吗? 最佳答案 如果

java - 在 JUnit 测试中捕获 AssertionError 是个好主意吗?

我有一个对象作为API调用的结果,我想声明一个成员变量的值。此值可以是两个预期值之一,具体取决于API调用首先“看到”并首先设置的内容。因此,如果对一个值的断言失败,我想在将测试声明为失败之前对另一个值进行断言。这样做的最佳方法是什么?我现在拥有的是:try{assertEquals("message",someObject.getValue1(),expectedValue1);}catch(AssertionErrorae){assertEquals("message",someObject.getValue1(),expectedValue2);}我只是不确定这是否是一种可接受的

java - 按指定顺序运行 JUnit4 测试类

我已经编写了许多测试,不仅分为单独的类,而且根据他们正在测试的应用程序的哪个区域,分为单独的子包。所以,我的包结构看起来有点像这样:my.package.testsmy.package.tests.fourmy.package.tests.onemy.package.tests.threemy.package.tests.two在my.package.tests包中,我有一个父类,它扩展了子包一到四中的所有测试。现在,我想选择测试运行的顺序;不是在类中(这似乎可以用FixMethodOrderannotation),而是类或子包本身的顺序(所以子包one中的那些首先,然后是两个等)。一

java - 在 BeforeClass junit 的 TestExecutionListener 类中使用 Autowiring

我需要在junit中执行一个@BeforeClass方法,但使用Spring注入(inject)值,因此无法将private变量切换为static。我正在尝试执行此Listeners并创建一个Listener类,但我遇到了一个问题。我在这个类中也有需要Autowire的值,因为我想运行BeforeClass的方法调用@Autowired注入(inject)。但是,由于某种原因,它不起作用并且该值保持为空。有没有人遇到过这样的问题? 最佳答案 它不是最干净的,但它有效:publicclassMyTestListenerextendsA

java - JUnit 集成测试的 'IT.java' 文件名后缀(而不是 'Test.java' )是一个约定吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion我习惯用*Test.java命名我的JUnit集成测试最后例如DatabaseConnectionTest.java并将它们放在自己的集成测试目录中:例如test/integration/com...在加入一个新项目时,我得到了指导No,alltheTestsgointheonedirectory,andwedistinguishtheUnitTestsfromtheIntegration

react-native的打包发布流程(android版本)

一、先打包成apk1、生成一个签名密钥你可以用keytool命令生成一个私有密钥。在Windows上keytool命令放在JDK的bin目录中(比如C:\ProgramFiles\Java\jdkx.x.x_x\bin),你可能需要在命令行中先进入那个目录才能执行此命令。 keytool-genkeypair-v-storetypePKCS12-keystoremy-release-key.keystore-aliasmy-key-alias-keyalgRSA-keysize2048-validity10000这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相

java - Junit 多重设置和单一测试

我想编写一个测试,以多种方式执行设置,但希望它们产生相同的输出。基本喜欢@BeforepublicvoidsetUp1(){obj.addDataThisWay(data);}@BeforepublicvoidsetUp2(){obj.addDataThatWay(data);}@TestpublicvoidtestResult(){assertEquals(obj.getResult(),1);}我想让它测试运行两次,一次用于setUp1()->testResult(),另一次用于setUp2()->testResult()是那可能吗? 最佳答案