问题标签 [teardown]

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 投票
1 回答
1648 浏览

python - 是否可以将参数传递给python中的拆卸装置?

我有一堆需要运行的测试方法,然后在每次测试之后我想在其他地方更新我的结果。这就是我所拥有的:

我的问题是我希望 update_test_status 位于拆卸夹具中,我可以将我的 test_result 传递给它。这样我就不需要为每种测试方法编写相同的代码..有什么想法吗?

谢谢

0 投票
1 回答
778 浏览

javascript - Braintree javascript 客户端 - 拆解调用不会删除现有的集成 - 在我的托管字段上出现错误

我目前正在尝试将 Braintree 集成到我的 angularJS Web 应用程序中,但我面临以下问题。

当用户选择执行付款时,我会打开一个模式以显示我的付款表单。在模态的控制器中,我在函数的开头braintree.setup(...)运行。我在表单中使用托管字段。一切正常(提交测试卡号并成功取回随机数),但是当我关闭模式然后重新打开它时,我使用的托管字段出现以下错误:

我尝试使用提供的拆卸方法(如文档中所示),但仍然不断收到该错误。

在模态的控制器中, $scope.setupBraintree($scope.token)当我从服务器获取令牌时调用该函数。$scope.setupBraintree定义如下:

然后,当用户关闭模式时,调用 $scope.cancel() ,其定义如下:

所以当我想要销毁braintree集成时(当模态关闭时),我调用了teardown方法。当我关闭模式时,$scope.checkout确实为空(这意味着拆解按预期运行),但是当我再次打开模式时(再次向服务器执行新请求以获取客户端令牌)我得到了上述错误关于托管字段,所以我想知道我是否遗漏了某些内容,或者托管字段的拆解是否存在任何问题。

谢谢你的帮助,巴比斯

0 投票
1 回答
569 浏览

python - Is it possible to run tear down fixture only after all params runs?

For instance if you have:

and i have this teardown fixture in conftest:

So how can i make the teardown function execute only after both EN and FR test runs are executed instead of having this run after each param run?

0 投票
0 回答
827 浏览

c# - 有没有办法使用 NUnit 获取测试结果列表?

作为测试项目的一部分,我正在最后创建一个外部报告以总结测试结果。

我知道我可以获得TestContext.CurrentContext具有Test.Nameand的测试上下文Result.State。但是为了让它在每一个中工作,TearDown我需要调用一个方法来获取CurrentContext. 我不喜欢这种方法有几个原因:

  1. 每次测试后我都必须调用一个方法来写入报告,一次写入所有数据会更有效。
  2. 忽略的测试没有TearDown, 并且忽略的测试在此报告中非常重要。
  3. 从理论上讲,测试仍然可以在 中失败TearDown,如果失败,它永远不会到达将其结果添加到报告中的方法。

在所有测试完成后,我正在寻找一种方法来获取它们的列表及其结果,以便我可以使用该数据输出到我的报告中。任何指针都非常感谢!

0 投票
1 回答
7614 浏览

database - 如何拆除 specflow 场景

我正在尝试创建一组新的测试来测试我正在开发的旧网站。该站点在后端使用数据库。我计划使用 SpecFlow 和 Selenium,但是我对处理数据清理的最佳方法有点困惑。

目前,我有一个数据库备份,其中包含一组示例数据,我在每次测试运行之前还原这些数据。然而,这很麻烦,所以我只想在发布之前对关键测试运行执行此操作,并让持续集成运行在其间的同一数据库上运行。

目前我有大量的测试是这样的:

when 步骤使用 GUID 来确保名称是唯一的,然后 then 步骤可以通过模块变量访问它以检查它是否存在。

就像我说的,但是我有很多与此类似的测试,并且我在同一个数据库上多次运行它们,因此测试系统充满了降低搜索速度等的项目。

我的问题是处理这个问题的最佳方法是什么?我是否应该在测试中创建另一个步骤来再次删除该项目,如下所示:

或者我的测试框架应该能够以某种方式处理这个问题?如果是这样,人们会怎么做?鉴于 SpecFlow 步骤的全局性质,我想如果具有父子关系的多个项目可能会出现问题,那么以正确的顺序获取拆卸步骤。

0 投票
2 回答
1584 浏览

c# - 如何在每次 NUnit 测试后运行方法(甚至在拆卸中失败)

我正在使用 NUnit 开发测试库,并在测试运行时生成自定义报告。

TearDown我的测试中,我调用了一个报告测试结果的方法。如果测试通过,它就可以正常工作,但如果测试失败、被忽略或不确定,则永远无法达到。

为了让事情变得更加困难,“//do stuff”中的“//do stuff”TearDown也可能导致测试失败,在这种情况下仍然需要记录它。但是Assert会引发异常,这意味着它会离开块并且永远不会到达报告代码。

更多信息 - 使用 NUnit 3.2.0

0 投票
1 回答
691 浏览

jmeter - 套件在 JMeter 中停止时的清理

我在 JMeter 中有一个拆卸元素,可以清理一些测试数据。它目前在实际测试之后运行。但是,如果我注意到一些故障并停止套件,则不会执行清理,我需要手动执行。有什么方法可以配置 JMeter 在停止之前进行拆卸?

0 投票
1 回答
411 浏览

c# - 如何在测试失败时关闭结果文件?使用 Webdriver,c#

我正在尝试为在 c# 中使用 Selenium Webdriver 的测试创建自定义结果文件。

我正在将结果写入 csv 文件,并在最后关闭它。

问题是如果测试失败并且没有完成,文件永远不会关闭,因此我没有得到结果。

我试过把 file.Close(); 在 Teardown 部分中,但这不起作用,因为“文件”在该上下文中不存在。我看不出有办法把它传进去。

我还尝试在 Setup 中设置新的 StreamWriter 文件——这很好,但最后没有帮助关闭它。

我已经在这里搜索过和一般的谷歌搜索。

这是一个有效的示例 - 当它全部通过时(都在一个地方 - 测试中的不同类)。

我希望能够移动文件。关闭();不管它是否通过,它都会运行到哪里。

0 投票
1 回答
1168 浏览

unit-testing - 将参数传递给 tearDown 方法

假设我有在其工作期间创建 SVN 分支的实体。为了执行功能测试,我创建了多个几乎相同的方法(我使用 python unittest 框架,但问题与任何测试框架有关):

每次测试后,我想删除生成的分支,或者如果测试失败则什么也不做。理想情况下,我会使用以下内容:

但是 tearDown 不接受任何参数。我看到一些非常肮脏的解决方案:

a)在Tester中创建字段“used_url”,在每个方法中设置它并在tearDown中使用:

它应该可以工作,因为(至少在我的环境中)所有测试都是按顺序运行的,所以不会有冲突。但是由于共享变量,这种解决方案违反了测试独立性原则,如果我设法同时启动测试,它将无法正常工作。

b)使用单独的方法cleanup(self, url),并从每个方法中调用它

还有其他方法吗?

0 投票
1 回答
616 浏览

c++ - gtest setup teardown TestEnvironment - 类变量问题

我有另一个 gtest,我在其中执行以下操作,它工作正常:

但是,我希望将其设置为另一个 gtest 类并在整个测试夹具中保持不变。但是,我收到此错误消息:

在没有适当的运算符或将函数转换为指针函数类型的情况下调用类类型的对象。

我正在查看initialize gtest,但我不确定我为此缺少什么。它可能是使用我不熟悉的静态变量。不过,我不希望 ClassName 是静态的。

我做错了什么?