Spring 3+ 当 JUnit 无法识别时如何创建 TestSuite

2024-01-04

我正在使用 Spring 3.0.4 和 JUnit 4.5。我的测试类当前使用 Spring 的注释测试支持,语法如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration (locations = { "classpath:configTest.xml" })
@TransactionConfiguration (transactionManager = "txManager", defaultRollback = true)
@Transactional
public class MyAppTest extends TestCase 

{
 @Autowired
 @Qualifier("myAppDAO")
 private IAppDao appDAO;
    ...
}

我真的不需要这条线扩展测试用例运行此测试。单独运行这个测试类时不需要它。我必须添加扩展测试用例这样我就可以将它添加到 TestSuite 类中:

public static Test suite() {
        TestSuite suite = new TestSuite("Test for app.dao");
  //$JUnit-BEGIN$
  suite.addTestSuite(MyAppTest.class);
        ...

如果我省略扩展测试用例,我的测试套件将无法运行。 Eclipse 将标记suite.addTestSuite(MyAppTest.class)作为错误。

如何将 Spring 3+ 测试类添加到测试套件?我确信有更好的方法。我已经谷歌搜索并阅读了文档。如果你不相信我,我愿意把我所有的书签寄给你作为证据。但无论如何,我更希望得到一个有建设性的答案。多谢。


你是对的; JUnit4 风格的测试不应扩展junit.framework.TestCase

您可以通过以下方式将 JUnit4 测试作为 JUnit3 套件的一部分:

public static Test suite() {
   return new JUnit4TestAdapter(MyAppTest.class);
}

通常你会将此方法添加到MyAppTest班级。然后,您可以将此测试添加到更大的套件中:

 public class AllTests {
   public static Test suite() {
     TestSuite suite = new TestSuite("AllTests");
     suite.addTest(MyAppTest.suite());
     ...
     return suite;
   }
}

您可以通过创建一个带有注释的类来创建 JUnit4 风格的套件Suite http://junit.sourceforge.net/javadoc/org/junit/runners/Suite.html

@RunWith(Suite.class)
@SuiteClasses( { AccountTest.class, MyAppTest.class })
public class SpringTests {}

注意AccountTest可以是 JUnit4 风格的测试或 JUnit3 风格的测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 3+ 当 JUnit 无法识别时如何创建 TestSuite 的相关文章

随机推荐

  • 检索解决方案的路径?

    我们目前正在为我们的公司设置 Team Build 2010 我正在尝试使用工作流活动来检索当前正在构建的解决方案的确切本地路径 我还没有找到获得这个值的方法 有人知道如何 不编写自定义活动 吗 服务器或本地路径之一就足够了 即 TeamP
  • 可以避免在 Java 中默认调用 super() 吗?

    假设由于某种原因我不想隐式调用super 这是默认完成的 class Animal public Animal System out println Constructing an animal class Dog extends Anim
  • 在 python 中使用 oauth2 服务帐户向 Google API 进行身份验证

    我已按照以下说明进行操作https developers google com accounts docs OAuth2ServiceAccount https developers google com accounts docs OAu
  • EntityManager 在 JBoss JSF bean 中的 merge() 上抛出 TransactionRequiredException

    我在 JBoss 5 0 1GA 上设置了一个 JSF 应用程序 以在表中显示用户列表 并允许通过每个用户旁边的按钮删除单个用户 当deleteUser被调用时 调用被传递到一个UserDAOBean 它获取从JBoss注入的EntityM
  • 詹金斯订书机请求失败,没有有效的面包屑

    我正在开发一个 Jenkins 插件 现在我陷入了一个困境 我试图使用 JavaScript 代理获取方法的返回值 如下所述here https wiki jenkins io display JENKINS AJAX with JavaS
  • 带有 LDAP 身份验证的 OWIN

    这是我的场景 我有一个使用 Owin 作为身份验证机制的 MVC 5 应用程序 默认模板在登录操作中调用 SignInManager PasswordSignInAsync 我想覆盖该操作以使用 LDAP 验证用户 而不是查看数据库 我可以
  • 如何同步一系列 Promise?

    我有一个 Promise 对象数组 必须按照它们在数组中列出的顺序来解析 即在前一个元素被解析之前我们不能尝试解析一个元素 作为方法Promise all does 如果一个元素被拒绝 我需要链立即拒绝 而不尝试解析下一个元素 我该如何实现
  • 编写 Spark 作业时是否有理由不使用 SparkContext.getOrCreate?

    我正在编写与 Datastax 中的 Cassandra 对话的 Spark 作业 有时 在执行 Spark 作业中的一系列步骤时 获取新 RDD 比加入旧 RDD 更容易 您可以通过调用来做到这一点SparkContext getOrCr
  • 在 MATLAB 中显示梯度图像的颤动图

    我有一个形象 我想显示使用 MATLAB 中的梯度函数获得的梯度图像的颤动图 最好叠加在梯度图像上 I imread image png gx gy gradient double rgb2gray I g abs gx abs gy fi
  • 具有安全用户身份验证和注册第三方应用程序的简单 PHP REST 服务器

    我正在考虑编写一个 PHP REST API 允许注册用户与第三方应用程序的 Web 服务进行交互 我需要 API 能够做的是 提供对安全用户身份验证的支持 允许注册用户与第三方应用程序的服务交互 该应用程序应事先在系统上注册并获得批准 类
  • 考虑重复,在数组中存储随机值

    这是一个新版本这个帖子 https stackoverflow com questions 4990164 estimating the probability of 3 people sharing a birthday为了将编程问题与概
  • 通用类的类助手?

    我正在使用 Delphi 2009 是否可以为通用类 即 TQueue 编写一个类帮助器 显而易见的 TQueueHelper
  • 如何从具有或不具有背景大小的文件夹创建精灵(使用指南针)

    我想将指南针生成的图标精灵用于两种不同的场景 使用原始大小的图标 使用 CSS3 属性使用与较小版本相同的图标background size 我首先这样做 logo spacing 20px import logo png include
  • NHibernate;删除子项也会删除父项吗?

    为什么是当我删除子级 员工 时 父级 商店 也被删除 我配置为约定 Cascade All The 用户输入序列很简单 从空数据库开始 添加家长 保存 加载 加载 重新加载完整对象图 添加一个孩子 保存 加载 删除子项 结果 数据库为空 父
  • Spotify 自动播放列表管理与 PHP 后端和速率限制

    两个问题 问题1 我们需要从我们的后端 PHP 管理 Spotify 用户的 4 个播放列表 无需用户登录 我们网站的访问者可以向我们的网站提交多首他们喜欢的歌曲 在此基础上 我们创建并管理 4 个播放列表 其中包含 提交最多的歌曲 我们希
  • 如何显示用户时区的时间

    我使用的是rails 3 0 5 并且已将created at 和updated at 存储在UTC 中 现在我想显示用户时区中的created at时间 我相信可以从浏览器中选择用户的时区 然后将时间转换为用户的时区 我确信 Rails
  • 使用 NPOI 将图像添加到 Word docx 文件

    我开始使用 NPOI 创建 Word 文档 并且尝试将简单的图像添加到文档中 但它没有显示 不过我可以让文字显示得很好 这是我的代码 var wDoc new XWPFDocument var bytes File ReadAllBytes
  • Android TV 中缺少应用栏的替代方案

    我只是注意到我的 Android 应用程序 当我运行它时 Android TV 带有后倾意图 但事实并非如此 显示菜单项的三明治按钮 This is missing and everthing else like the title 建议的
  • LINQ to XML 分组依据

    我想使用 LINQ 通过在 Summary 字段上执行 GROUPBY 并对 Balance 字段求和来将输入 XML 转换为输出 XML 输入 XML
  • Spring 3+ 当 JUnit 无法识别时如何创建 TestSuite

    我正在使用 Spring 3 0 4 和 JUnit 4 5 我的测试类当前使用 Spring 的注释测试支持 语法如下 RunWith SpringJUnit4ClassRunner class ContextConfiguration