gpt4 book ai didi

java - 在 RunWith 注释 : does not find tests (java. lang.Exception 中使用 SerenityParameterizedRunner 进行 junit 测试:未找到匹配的方法)

转载 作者:行者123 更新时间:2023-12-02 10:15:27 25 4
gpt4 key购买 nike

我正在尝试使用 IntelliJ IDEA 通过 Serenity BDD 框架运行 junit 测试。

当我尝试运行测试时出现错误:

java.lang.Exception: No tests found matching Method ... from org.junit.internal.requests.ClassRequest@71e693fa

这似乎是由于使用 RunWith 注释调用 SerenityParameterizedRunner

@RunWith(SerenityParameterizedRunner.class)

当 RunWith 注释被注释掉时,测试就会被发现并开始执行(尽管这没有多大用处,因为我们依赖参数化运行器来构建数据)。

我能够通过一个简单的项目重现该问题,以演示该问题。

package com.home;

public class Doorbell {
private int ringCount = 0;

public Doorbell() {

}

public void ring(){
System.out.println("Ring!");
ringCount++;
}

public int getRings() {
return ringCount;
}
}

测试类:

package com.home;

import net.serenitybdd.junit.runners.SerenityParameterizedRunner;
import net.serenitybdd.junit.runners.SerenityRunner;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;

@RunWith(SerenityParameterizedRunner.class)
public class DoorbellTest {

@Test
public void testRings()
{
Doorbell db = new Doorbell();
db.ring();
db.ring();

Assert.assertEquals(2,db.getRings());
}
}

Pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>homeproject</groupId>
<artifactId>mytestproject</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<serenity.version>1.9.31</serenity.version>
</properties>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-core -->
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>1.9.31</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.serenity-bdd/serenity-junit -->
<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-junit</artifactId>
<version>1.9.31</version>
</dependency>
</dependencies>
</project>

请尝试在项目中运行单个单元测试。非常感谢任何帮助。

最佳答案

Answer 11 from this Stack Overflow question解决了我的问题

显然您必须运行包含测试的类,而不是测试本身。

关于java - 在 RunWith 注释 : does not find tests (java. lang.Exception 中使用 SerenityParameterizedRunner 进行 junit 测试:未找到匹配的方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54716057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com