首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JDBC + DBUnit未找到测试

JDBC + DBUnit未找到测试
EN

Stack Overflow用户
提问于 2020-05-14 03:05:28
回答 1查看 179关注 0票数 0

我正在尝试为我的DAOImpl类编写一个测试,只是简单地插入一个查询,但是测试不起作用,给出了这样的错误:junit.framework.AssertionFailedError: No tests found in ...

找不到有关此问题的任何信息。

测试类:

代码语言:javascript
复制
import org.dbunit.Assertion;
import org.dbunit.DBTestCase;
import org.dbunit.PropertiesBasedJdbcDatabaseTester;
import org.dbunit.dataset.IDataSet;
import org.dbunit.dataset.ITable;
import org.dbunit.dataset.xml.FlatXmlDataSetBuilder;
import org.junit.jupiter.api.Test;
import test.database.dao.DaoFactory;
import test.database.dao.interfaces.CoursesDao;
import test.models.Course;

import java.io.File;

import static org.junit.jupiter.api.Assertions.*;

public class CoursesDaoImplTest extends DBTestCase {

public CoursesDaoImplTest(String name) {
    super(name);
    System.setProperty(PropertiesBasedJdbcDatabaseTester.DBUNIT_DRIVER_CLASS, "org.postgresql.Driver");
    System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_CONNECTION_URL, "jdbc:postgresql://localhost:5432/school" );
    System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_USERNAME, "school_admin" );
    System.setProperty( PropertiesBasedJdbcDatabaseTester.DBUNIT_PASSWORD, "admin" );
}

@Override
protected IDataSet getDataSet() throws Exception {
    return new FlatXmlDataSetBuilder().build(new File(getClass().getClassLoader()
            .getResource("/school-data.xml").getFile()));
}

@Test
public void TestAdd_ShouldAddCourse_WhenInputNewCourse() throws Exception {

    Course course = new Course("Archery", "Description");

    CoursesDao coursesDao = DaoFactory.getCoursesDao();
    coursesDao.add(course);

    IDataSet databaseDataSet = getConnection().createDataSet();
    ITable actualTable = databaseDataSet.getTable("courses");

    IDataSet expectedDataSet = new FlatXmlDataSetBuilder().build(new File(getClass().getClassLoader()
            .getResource("/coursesDaoImplTest-add-expected.xml").getFile()));
    ITable expectedTable = expectedDataSet.getTable("courses");

    Assertion.assertEquals(expectedTable, actualTable);
}

}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-14 05:41:58

DBTestCase是一个JUnit 4类,而您正在使用JUnit 5中的@Test。需要决定使用哪个版本并进行相应的更新。

此外,使用组合而不是扩展dbUnit测试类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61782872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档