- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 NUnit 运行一些 Selenium 测试,我遇到了一个小问题,我想看看是否可以得到更正。发生的情况是 [OneTimeSetUp] 和 [OneTimeTearDown] 在每个 fixture 完成后运行。我想要的是在测试开始时运行一次 [OneTimeSetUp],并在所有固定装置完成后运行拆卸。
TestBaseClass.cs
public class TestBaseClass
{
[OneTimeSetUp]
public void Init()
{
// Login
}
[OneTimeTearDown]
public void TearDown()
{
Driver.Close();
}
}
导航测试
[TestFixture]
public class NavigationTests : TestBaseClass
{
// Tests
}
MainPageTests
[TestFixture]
public class MainPageTests : TestBaseClass
{
// Tests
}
最佳答案
OneTimeSetUpAttribute 有两个用途。
首先,它标记测试夹具中的一个方法,该方法在该夹具中的任何其他测试之前运行一次。这就是您通过从基类继承来使用它的方式。由于继承,OneTimeSetUp 出现在您的每个 派生灯具中,但它仍然运行多次,每个灯具一次。
第二个用途是在 SetUpFixture 中。如果您在特定命名空间中创建 SetUpFixture,它的 OneTimeSetUp 方法将在该命名空间中的任何其他测试之前运行一次。如果您在任何命名空间之外创建 SetUpFixture,那么它的 OneTimeSetUp 将在程序集中的任何测试之前运行一次。
更新:有人建议最后一句应该说“在包含 TestFixture 的任何 namespace 之外”。那实际上是不正确的。 SetUpFixture 必须在任何命名空间之外才能在程序集级别运行。如果有一个顶级命名空间,其中包含所有 测试代码,那么您也可以在那里放置一个 SetUpFixture,效果大致相同。但是,如果它位于没有测试的命名空间中,那么它永远不会运行。
有关 SetUpFixture 的更多信息,请参阅 docs .
关于c# - 是否可以为所有测试设置 [OneTimeSetup]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42213167/
可以使用 enable 在 nunit 开发的项目中,使用在 OneTimeSetup 中初始化的字段,但没有获取“警告 CS8618:不可为 null 的字段‘...’在退出构造函数时必须包含非 n
我正在使用 NUnit 运行一些 Selenium 测试,我遇到了一个小问题,我想看看是否可以得到更正。发生的情况是 [OneTimeSetUp] 和 [OneTimeTearDown] 在每个 fi
在 NUnit 3 中,他们用“OneTimeSetUp”替换了属性“TestFixtureSetUp”。然而,它实际上似乎不起作用,除非我是一个十足的白痴。 这是我的代码: [TestFixture
我们有一个集成测试套件,其中包含大量执行存储库类的测试。 目标是在 BaseTestFixture 中有一个 [OneTimeSetup] 方法,它将在所有测试之前和所有测试之后的拆卸中仅创建/填充每
我在与 Razor 应用程序结合MVVM进行集成测试时遇到问题。我所有的类都使用ApplicationDbContext。 测试类: [TestFixture] public class ApiPar
我目前正在使用 C#、nunit 和 Selenium 构建一个自动化项目,我正在尝试拥有一个安装类,它将在任何 TestFixture 之前初始化 selenium webdriver将运行并且在所
OneTimeSetUp 和 OneTimeTearDown 停止工作 using NUnit.Framework; using System; using System.Collections.Ge
我的单元测试是用 Nunit 2.6 编写的,但计划升级到 Nunit 3.6.1,但是我注意到 Nunit 3.6.1 有一个奇怪的问题(或者可能是我没有正确理解)。问题出在 OneTimeSetU
我的单元测试是用 Nunit 2.6 编写的,但计划升级到 Nunit 3.6.1,但是我注意到 Nunit 3.6.1 有一个奇怪的问题(或者可能是我没有正确理解)。问题出在 OneTimeSetU
我遇到一个问题,NUnit 告诉我:“找不到合适的构造函数”。是什么原因造成的?我还收到另一条消息:“Exception doesn't have a stacktrace”。这两条消息只是一遍又一遍
我在 Nunit 3 测试用例中陷入了奇怪的情况,我在 [SetUpFixture] 中的 [OneTimeSetUp] 在 [Test, TestCaseSource(typeof(TestData
我是一名优秀的程序员,十分优秀!