当前位置: 首页 > 面试题库 >

包测试的串行执行

景宏朗
2023-03-14
问题内容

我已经为Web API实现了多个软件包,每个软件包都有自己的测试用例。使用go test ./api/pkgname测试通过每个包装时通过。如果我想一次用go test ./api/...测试案例运行所有测试,则总是失败。

在每个测试案例中,我使用来重新创建整个架构DROP SCHEMA public CASCADECREATE SCHEMA public并应用所有迁移。测试套件随机报告错误,说不存在关系/表,所以我猜每个测试套件(每个程序包)都以某种方式并行运行,从而弄乱了数据库状态。

我试图通过一些测试标志,例如go test -cpu 1 -parallel 0 ./src/api/...没有成功。

这里的问题可能是并行运行的测试吗?如果是的话,如何强制串行执行?

更新:

目前,我使用此替代方法来运行测试,但我仍然想知道是否有更好的解决方案

find <dir> -type d -exec go test {} \;

问题答案:

正如其他人指出的那样,-parallel不能完成任务(它仅在程序包中起作用)。但是,您可以使用标志-p = 1来依次进行软件包测试。在此处记录:

http://golang.org/src/cmd/go/testflag.go

但是(不是)不在命令行上,不能获得帮助等。我不确定它是否会坚持下去(尽管我认为如果删除了它,则-parallel应该是固定的。)



 类似资料:
  • 22.13.1.执行测试 测试从main构建过程中分离出来的,运行在一个单独的JVM中执行.Test任务允许控制这些如何发生. 有许多属性用于控制测试过程如何启动.这包括使用诸如系统属性,JVM参数和Java可执行文件。 可以指定是否要并行执行测试.Gradle通过同时运行多个测试进程提供并行执行测试.每个测试进程在同一时间只能执行一个测试,为了充分利用这一特性,一般不需要为tests任务做什么特

  • 有4个类包含测试< code>TestClass1、TestClasss2、TestClass3、TestClass4。您需要创建2个测试套件,每个套件将包含2个类,并使用< code>Maven surefire插件并行运行它们。 我创建了两个包含以下内容的xml文件: 和 也添加到: 接下来,我用命令< code>mvn clean test运行项目,项目将要运行,但是测试没有开始。我哪里错了

  • 序列化图用于测试计划的可序列化。 假设一个时间表S,对于S,我们构造一个称为优先图的图。 该图有一对,其中由一组顶点组成,由一组边组成。 顶点集用于包含参与计划的所有事务。 该组边用于包含三个条件之一所有的所有边: 如果在执行读取(Q)之前执行写入(Q),则创建节点。 如果在执行写入(Q)之前执行读取(Q),则创建节点。 如果在执行写入(Q)之前执行写入(Q),则创建节点。 调度S的优先顺序图:

  • 测试用例使用JUnitCore类执行。 JUnitCore是运行测试的外观。 它支持运行JUnit 4测试,JUnit 3.8.x测试和混合。 要从命令行运行测试,请运行java org.junit.runner.JUnitCore“TestClass”。 对于一次性测试运行,请使用静态方法runClasses(Class [])。 以下是org.junit.runner.JUnitCore类的声

  • 测试用例使用TestNG类执行。 此类是在TestNG框架中运行测试的主要入口点。 用户可以创建自己的TestNG对象并以多种不同方式调用它,例如 - 在现有的testng.xml上。 在合成的testng.xml上,完全由Java创建。 通过直接设置测试类。 您还可以定义要包含或排除的组,分配参数等。命令行参数是 - -d outputdir:指定输出目录。 -testclass class_n

  • 我试图在Eclipse中使用Selenium运行TestNG。 当类文件作为TestNG测试运行时,我得到的测试Run=0。 问题会是什么? 我有testNg插件 testng。xml文件: 类: WebDriverTest类: BrowserInstance类: 注: 当我将testing.xml文件作为TestNG Suite运行时,结果是: 当我运行. java文件作为TestNG测试时,结