jjzjj

BeforeClass

全部标签

java - 是否可以在 @BeforeClass 注释方法中运行 Android Espresso 单元测试?

我在仪器化Android单元测试中使用JUnit4@BeforeClass注释时遇到问题(我正在使用EspressoGUI测试库).一旦我添加带有@BeforeClass注释的测试,AndroidStudio1.5.1根本不会运行任何测试,而只是打印“空测试套件”。我没有使用测试套件。我搜索了这个网站和网络,但找不到解决方案。我认为在@BeforeClass方法中调用的代码实际上失败(TDD)可能是一个问题,但即使在正常测试用例中工作的代码是放入@BeforeClass注释方法。谢谢。更新:检查logcat输出后,正如一位评论者所建议的那样,问题似乎是没有启动任何Activity:找不

java - 如何在 Junit3 中获得等效的 @BeforeClass 和 @AfterClass?

我想在用测试夹具替换它之前备份我的应用程序的数据库。由于Android的限制,我不得不使用Junit3,我想实现@BeforeClass和@AfterClass的等效行为。UPDATE:Thereisnowatool(Junit4Android)togetsupportforJunit4onAndroid.It'sabitofakludgebutshouldwork.为了实现与@BeforeClass等效,我一直在使用静态变量并在第一次运行期间对其进行初始化,但我需要能够在运行所有测试后恢复数据库。我想不出检测上次测试何时运行的方法(因为我相信无法保证测试执行的顺序。)publiccl

java - 使用套件时的 JUnit 4 @BeforeClass 和 @AfterClass

当使用下面的这种方法时,通过设置带有套件的jUnit。当每个Testclass中的所有@BeforeClass都将在任何测试开始执行之前执行时,我们遇到了问题。(对于每个n个TestClass文件,@BeforeClass运行,然后在它们执行后,它开始执行第一个MyTest.class文件@Test)这将导致我们分配大量资源和内存。我的想法是它一定是错误的,每个@BeforeClass不应该只在执行实际测试类之前运行,而不是在启动套件时运行?@RunWith(Suite.class)@Suite.SuiteClasses({MyTests.class,Mytests2.class,n1

java - 为什么我的 @BeforeClass 方法没有运行?

我有以下代码:@BeforeClasspublicstaticvoidsetUpOnce()throwsInterruptedException{fail("LOL");}以及各种其他方法,例如@Before、@After、@Test或@AfterClass方法。测试在启动时并没有像它看起来应该的那样失败。有人可以帮帮我吗?我有JUnit4.5该方法在立即调用setUp()时失败,注释为@before。类定义是:publicclassmyTestsextendsTestCase{ 最佳答案 不要同时扩展TestCase和使用注解!如

spring - 用于 Spring Boot 应用程序的 JUnit @BeforeClass 非静态工作

如果您希望JUnit的@BeforeClass注释在所有@Test方法之前运行一次,则必须将其声明为静态。但是,这不能与依赖注入(inject)一起使用。我想在运行JUnit测试之前使用SpringBoot清理我@Autowire的数据库。我不能@Autowire静态字段,所以我需要想办法解决。有什么想法吗? 最佳答案 只需使用@Before(而不是@BeforeClass)(或Spring的@BeforeTransaction(取决于您如何初始化数据库))。此注释必须附加到非静态公共(public)方法。当然:@Before在每个

java - 如何在静态@BeforeClass 中 Autowiring 字段?

@RunWith(SpringJUnit4ClassRunner.class)publicvoidITest{@AutowiredprivateEntityRepositorydao;@BeforeClasspublicstaticvoidinit(){dao.save(initialEntity);//notpossibleasfieldisnotstatic}}如何让我的服务已经注入(inject)到静态初始化类中? 最佳答案 使用Junit5,您可以做到这一点(@BeforeAll而不是@BeforeClass)publicv

java - @BeforeClass 和继承 - 执行顺序

我有一个抽象基类,我将其用作单元测试的基础(TestNG5.10)。在这个类中,我为我的测试、设置数据库映射等初始化了整个环境。这个抽象类有一个带有@BeforeClass注释的方法来进行初始化。接下来,我用特定的类扩展该类,其中我有@Test方法和@BeforeClass方法。这些方法对环境进行特定类的初始化(例如,将一些记录放入数据库)。如何强制执行@BeforeClass注释方法的特定顺序?我需要在扩展类之前执行抽象基类中的那些。例子:abstractclassA{@BeforeClassdoInitialization(){...}}classBextendsA{@Before

java - @BeforeClass 和继承 - 执行顺序

我有一个抽象基类,我将其用作单元测试的基础(TestNG5.10)。在这个类中,我为我的测试、设置数据库映射等初始化了整个环境。这个抽象类有一个带有@BeforeClass注释的方法来进行初始化。接下来,我用特定的类扩展该类,其中我有@Test方法和@BeforeClass方法。这些方法对环境进行特定类的初始化(例如,将一些记录放入数据库)。如何强制执行@BeforeClass注释方法的特定顺序?我需要在扩展类之前执行抽象基类中的那些。例子:abstractclassA{@BeforeClassdoInitialization(){...}}classBextendsA{@Before

java - @Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别

两者的主要区别是什么@Before和@BeforeClass在JUnit5中@BeforeEach和@BeforeAll@After和@AfterClass根据JUnitApi@Before用于以下情况:Whenwritingtests,itiscommontofindthatseveraltestsneedsimilarobjectscreatedbeforetheycanrun.而@BeforeClass可用于建立数据库连接。但是@Before不能做同样的事情吗? 最佳答案 标记为@Before的代码在每次测试之前执行,而@Be

java - @Before、@BeforeClass、@BeforeEach 和 @BeforeAll 之间的区别

两者的主要区别是什么@Before和@BeforeClass在JUnit5中@BeforeEach和@BeforeAll@After和@AfterClass根据JUnitApi@Before用于以下情况:Whenwritingtests,itiscommontofindthatseveraltestsneedsimilarobjectscreatedbeforetheycanrun.而@BeforeClass可用于建立数据库连接。但是@Before不能做同样的事情吗? 最佳答案 标记为@Before的代码在每次测试之前执行,而@Be