如何解决nUnit不首先执行OneTimeSetup,而是执行OneTimeTearDown
我最近从MSTest切换到nUnit以运行我的硒测试。使用MSTest,我正在运行测试 作为程序集初始化。我读到我可以做类似的事情并将其删除 并添加了所有必要的元素以使用NUnit运行我的测试,但顺序为 我所阅读的内容无法按预期执行,或者我可能无法执行此操作。
Nunit的版本= 3.12.0
NUnit3TestAdapter = 3.17.0
下面是我的代码示例 与cs文件有我的测试用例 另一个具有我下面的安装程序的cs文件位于同一命名空间中。
我遇到的问题是,当我运行测试用例时,属性OneTimeTearDown首先被执行 而不是OneTimeSetup。
public class UserInfo
{
public string Name{ get; set; }
public int Id{ get; set; }
}
用于初始化包含我的程序集的文件
using System;
using NUnit.Framework;
namespace Automation_Test
{
[TestFixture]
public class Custom_Tests
{
[Test]
public void Add()
{ /* ... */ }
}
}
解决方法
要将SetUpFixture
用作程序集初始化程序,它必须在全局名称空间中,即,在您指定的任何名称空间之外。
设置代码后,fixture函数会在名称空间中而不是在程序集范围内初始化测试。如果您所有的测试都在同一个命名空间中,那可能没问题。如果根据此设置在多个名称空间中进行测试,那将是一个问题。
即使如此,您的设置未运行但拆解却可以运行似乎很奇怪。因此,请尝试将SetUpFixture
移到全局名称空间中,并报告发生的情况。如果您提供更多信息,我会进行更新。
我遇到的问题是将播放设置放在OneTimeSetup方法中
Playback.PlaybackSettings.DelayBetweenActions = 750;
Playback.PlaybackSettings.ThinkTimeMultiplier = 2;
我没有提出疑问。这引起了沉默 我没有看到的异常会绕开
[OneTimeSetUp]
public static void LoginSystem()
{ /* ... */ }
直接进入OnetimeTeardown方法
我更新了程序,并卸载了项目并删除了引用 和与编码ui相关的元素,并正确添加了三个程序集 参考
- Microsoft.VisualStudio.TestTools.UITest.Playback
- Microsoft.VisualStudio.TestTools.UITest.WindowsStoreUtility
- Microsoft.VisualStudio.TestTools.UITesting
完成此操作后,我的程序应能正常工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。