问题标签 [integration-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1334 浏览

integration-testing - 如何管理端到端测试的测试夹具?

刚刚为一个新的 Web 应用程序设置了一个测试框架,我意识到我错过了一个大问题:“我如何使测试彼此独立?”

几年前,我设置了一些复杂的 Ant 脚本来执行删除所有数据库表、再次创建模式、添加测试数据、启动应用程序、运行一个测试然后停止应用程序的完整周期。由于运行整个套件需要时间,因此维护起来很痛苦,并且限制了我们进行夜间测试。它仍然值得,但我想知道是否有更简单的方法。

这种方法有替代方案吗?主要标准是每个测试都不应受到套件中任何其他测试的影响,无论它是失败还是成功。

0 投票
2 回答
141 浏览

oracle - 有没有办法以编程方式将 oracle 表定义从一个数据库“移动”到另一个数据库?

假设我有两个 Oracle 数据库。我们将它们称为数据库 A 和数据库 B。

现在假设我在数据库 A 中有一个表,其定义如下:

...是否有任何简单的方法可以在数据库 B 中使用相同的主键和相同的外键创建同一张表,但没有任何数据?如果有一个纯 SQL 方法,那将是理想的,这样我可以在 Python 中使用 cx_Oracle 执行此操作,但如果需要,我可以启动一个 shell 脚本。

0 投票
10 回答
67299 浏览

database - 如何为数据库调用编写单元测试

我即将开始一个新项目,并且(喘气!)我第一次尝试在我的项目中包含单元测试。

我自己设计一些单元测试时遇到了麻烦。我有一些方法很容易测试(传入两个值并检查预期的输出)。我有代码的其他部分正在做更复杂的事情,比如对数据库运行查询,我不知道如何测试它们。

该方法本质上是从数据库中提取一些数据所需的所有必要的零碎部分,并在 DataTable 对象中返回数据。

第一个问题可能是最复杂的:在这种情况下,我什至应该测试什么?

一旦解决了问题,是否要模拟数据库组件或尝试针对实际数据库进行测试。

0 投票
4 回答
31625 浏览

java - 使用 Maven 进行集成测试的最佳实践?

我有一个使用 Maven 构建的项目,它使用 Hibernate(和 Spring)从数据库等中检索数据。

我在项目中对 DAO 的“测试”扩展了 Spring AbstractTransactionalDataSourceSpringContextTests,以便可以将 DataSource 连接到我的测试类中,以便能够实际运行查询/休眠逻辑、获取数据等。

在其他几个项目中,我将这些类型的测试与 HSQL 数据库(内存中或指向文件)结合使用,以便能够在不依赖外部数据库的情况下有效地测试实际的数据库查询逻辑。这很好用,因为它避免了任何外部依赖,并且在运行测试之前数据库的“状态”(每个测试都包含在一个回滚的事务中)是明确定义的。

我很好奇使用 Maven 组织这些测试的最佳方式,这实际上是一种松散的集成测试。将这些测试保留在 中感觉有点脏src/test/java,但从我所读到的内容来看,使用 Maven 组织集成测试似乎并没有一致的策略或实践。

从我目前阅读的内容来看,似乎我可以使用Failsafe 插件(或 Surefire 的第二个实例)并将其绑定到integration-test阶段,并且我还可以绑定自定义启动或关闭逻辑(例如启动/停止 HSQL 实例)到pre-integration-testpost-integration-test。但是,这真的是最好的方法吗?

所以我的问题基本上是 - 用 Maven 组织这个的普遍接受的最佳实践是什么?我无法在文档中找到任何一致的答案。

我想要的是:

  • test将单元测试与集成测试分开,因此在该阶段只运行单元测试
  • 将自定义启动/关闭逻辑绑定到pre-integration-testpost-integration-test
  • 将来自集成测试的报告与单元测试 Surefire 报告合并/呈现
0 投票
3 回答
1686 浏览

java - 是否有任何具有集成和单元测试套件的 Java 开源项目?

我正在寻找一个开源 Java 项目,其中包含两个相当完整的测试套件:一套集成测试 一套单元测试,用于相同的代码。

请注意,我只对使用 JUnit 或 TestNG 编写的开发人员测试感兴趣。

我问这个是因为我经常看到人们说单元测试和集成测试都是必要的。但到目前为止,我不知道有任何代码库具有这两种测试覆盖率。

有人知道这样的项目吗?

0 投票
1 回答
496 浏览

sql - 如何使用 LINQ2SQL 通过存储库在 DB 上运行集成测试?

您如何通过在实现中使用 LINQ 2 SQL 的域层/模型(存储库)对数据库进行集成测试,并让数据库保持原样?换句话说,在对 DB 进行单元测试的理想世界中,集成测试将按照它找到的方式离开 DB。

有没有工具可以自动处理这个问题?通过存储库对数据库执行集成测试的最佳实践是什么?

0 投票
4 回答
2852 浏览

asp.net-mvc - 有人用过 Steve Sanderson 的 MvcIntegrationTestFramework 吗?

我正在寻找其他方法来测试 ASP.NET MVC 应用程序并遇到了 Steve Sanderson 的MvcIntegrationTestFramework。这种方法看起来很有希望,但我想知道是否有人有任何实际经验可以分享。

0 投票
1 回答
1907 浏览

java - 集成测试 Spring Web 应用程序

我需要在每次构建时对我的 Web 应用程序进行集成测试。

目前我有一组 JUnit 测试,在应用程序构建成战争之前测试它的各个部分。我现在需要做的是测试应用程序在部署到 Web 容器后是否处于良好状态。

该应用程序是使用 Spring 框架编写的,我已经阅读了很多关于 Spring 集成测试的文档,但他们所谈论的只是与数据库集成的测试等。我读过 Cactus,但信息也很稀少。

任何关于好的教程和源代码的指针都值得赞赏。

应用程序使用的软件的详细信息:Spring 2.5、Hibernate 3.2、Maven 2.2、Tomcat 6.0

非常感谢!

0 投票
5 回答
13647 浏览

integration-testing - 集成测试最佳实践

我们的团队有数百个集成测试,这些测试可以访问数据库并验证结果。我有两个用于所有集成测试的基类,一个用于仅检索测试,一个用于创建/更新/删除测试。仅检索基类在 TestFixtureSetup 期间重新生成数据库,因此每个测试类只执行一次。CUD 基类在每次测试之前重新生成数据库。每个存储库类都有自己对应的测试类。

正如你可以想象的那样,这整个过程需要相当长的时间(大约 7-8 分钟才能运行并快速增长)。将此作为我们的 CI (CruiseControl.Net) 的一部分运行不是问题,但在本地运行需要很长时间,并且确实禁止在提交代码之前运行它们。

我的问题是是否有任何最佳实践来帮助加快执行这些类型的集成测试?

我无法在内存中执行它们(la sqlite),因为我们使用了一些在 sqlite 中不受支持的特定于数据库的功能(计算列等)。

此外,整个团队必须能够执行它们,因此在 SQL Server Express 的本地实例上运行它们可能容易出错,除非这些实例的连接字符串都相同。

你是如何在你的商店里做到这一点的,什么效果很好?

谢谢!

0 投票
1 回答
117 浏览

nhibernate - FluentNH 的 PersistenceSpecification 是否允许测试 XML 映射?

是否可以使用 Fluent NHibernate 的 PersistenceSpecification 来测试通过 XML 完成的 NHibernate 映射?