我的问题是:我是否应该修复我的单元测试,因为他们没有找到错误?单元测试不应该考虑其他类吗?我只是修改了我的生产性代码,因为集成测试覆盖这些内容就足够了。
编辑:
由于这些答复,似乎有必要进一步说明我的问题。我仍然不确定哪个测试负责什么。
好吧,我的测试有100%的代码复盖率,我创造的突变体被我的测试检测到,所以一切看起来都很好。
我的第二个类是一个处理程序,它负责在每次调用handler.next()时设置所有排列。
// listContainer1.index = -1, listContainer2.index = -1,
handler.add(listContainer1) //has 2 values
handler.add(listContainer2) //has 2 values
handler.next() // listContainer1.index = 0, listContainer2.index = 0
handler.next() // listContainer1.index = 0, listContainer2.index = 1
handler.next() // listContainer1.index = 1, listContainer2.index = 0
handler.next() // listContainer1.index = 1, listContainer2.index = 1
同样是100%的代码覆盖率,检测到了突变体(我使用嘲弄定义了listContainer的行为)
对我来说,似乎两个单元测试类都涵盖了各自的职责...
首先,你必须确定问题出在哪里。
您的单元测试是否相关?这包括:
您应该注意的一个示例是状态更改,这通常是由于void
方法而发生的,但也可能是任何类型操作的副作用。这可能会干扰您在其他测试中所做的假设。
由于问题的一般性质,我也保持了相当笼统的答案,但如果你能分享一些细节,那么我可以提供一个更具体的答案。
简而言之:坏的单元测试是不可靠的,因而是无用的单元测试;确保它们与您的应用程序足够相关。
单元测试 单元测试仅依赖于源代码,是测试代码逻辑是否符合预期的最简单方法。 运行所有的单元测试 make test 仅测试指定的package # 单个package make test WHAT=./pkg/api # 多个packages make test WHAT=./pkg/{api,kubelet} 或者,也可以直接用go test go test -v k8s.io/kubernet
Spring对MockMvc有2个设置: 独立设置 WebApplication Context安装 一般来说,MockMvc用于哪种测试?单元还是集成?或者两者兼而有之? 使用独立设置(运行在Spring应用程序上下文之外)允许您编写单元测试,而使用WebApplication Context设置您可以编写集成测试,这是对的吗?
英文原文:http://emberjs.com/guides/testing/integration/ 集成测试通常用来测试应用中得重要工作流。集成测试用来模拟用户交互和确认交互结果。 设置 为了对Ember应用进行集成测试,需要在测试框架中运行应用。首先需要将根元素(root element)设置为任意一个已知将存在的元素。如果根元素在测试运行时可见的话,这对测试驱动开发非常有用,带来的帮助非常
我正在设置我的第一个Jenkins服务器来构建和测试现有的maven项目,而jenkins无法完成单元测试。 当我从命令行运行“mvn清洁安装”时,所有模块都会构建并通过它们的单元测试。然而,Jenkins只能运行第一组单元测试(通过),然后以某种方式出错。 我用的是詹金斯1.499。 以下是来自顶级pom报告插件的一些相关信息:
我对Spring靴还不熟悉。我使用Spring靴1.5.1 GA和Spring靴的Neo4j启动器。我试图创建我的第一个集成测试,以确定是否可以将新对象插入到图形数据库中。这是我的测试课: PeristentTestContext专门用于测试数据库操作。在这个类中,我设置了用于测试的嵌入式驱动程序: } 不幸的是,当我从STS IDE运行测试时,甚至在测试可以验证之前,我就收到了以下错误消息: 当