- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Azure DevOps 版本,正在执行一套单元测试。测试在本地通过,但在 Hosted 2017 代理上构建失败,因为使用 TestContext.DeploymentDirectory 的测试失败。 .
失败的测试使用TestContext
创建一个模拟设置对象。模拟设置的 OutputPath
设置为 TestContext.DeploymentDirectory
值。然后,模拟设置对象被传递给构造函数,并使用 Assert.AreEqual
检查生成的对象,如图所示;
[TestMethod]
public void Test_DiskStorageManager()
{
var settings = new MockDataHandlerSettings(TestContext);
var manager = new DiskStorageManager(settings);
Assert.AreEqual(settings.OutputPath, manager.OutputPath);
}
构造函数内如下;
if (Uri.TryCreate(settings.OutputPath, UriKind.Absolute, out Uri outputUri))
{
OutputPath = outputUri.LocalPath;
IsLocalOutput = outputUri.IsLoopback;
}
else
{
throw new ArgumentException($"Output path is invalid {settings.OutputPath}");
}
测试在本地运行良好,但在托管代理上发生以下测试失败;
Assert.AreEqual failed.
Expected:<D:\a_temp..\Tests\TestResults\TestResults\Deploy_VssAdministrator 2020-03-10 03_09_31\Out>.
Actual:<D:\a\Tests\TestResults\TestResults\Deploy_VssAdministrator 2020-03-10 03_09_31\Out>.
是什么导致从 D:\a_temp..\
更改为 D:\a\
并使测试失败?
编辑
测试任务由以下YAML定义;
variables:
BuildConfiguration: 'debug'
BuildPlatform: 'any cpu'
steps:
- task: VSTest@2
displayName: 'Test Assemblies'
inputs:
testAssemblyVer2: |
**\$(BuildConfiguration)\**\*Tests.dll
!**\obj\**
runSettingsFile: '$/MyProject/Tests/.runsettings'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
.runsettings
包含
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<RunConfiguration>
<MaxCpuCount>1</MaxCpuCount>
<ResultsDirectory>..\Tests\TestResults</ResultsDirectory>
<TargetPlatform>x64</TargetPlatform>
</RunConfiguration>
<DeploymentEnabled>True</DeploymentEnabled>
</RunSettings>
最佳答案
测试失败,因为ResultsDirectory element of the .runsettings file中的相对路径。测试初始化为;
TestResultsDirectory intialized to D:\a\_temp\..\Tests\TestResults\TestResults
正在删除<ResultsDirectory>..\Tests\TestResults</ResultsDirectory>
;
TestResultsDirectory intialized to d:\a\_temp\TestResults
注意:失败测试中显示的预期值未正确转义 \
。显示值为D:\a_temp..\Tests
但任务日志中的失败消息是 D:\a\_temp\..\Tests
.
这并不能解释为什么相对路径在 VS2019 16.4 中完全解析,而不是在 Azure 管道中。
关于c# - TestContext.DeploymentDirectory 的 Azure 管道单元测试 Uri 导致失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60612131/
我正在重构一个使用 NUnit 3.6 的测试应用程序。大多数应用程序是由非开发人员编写的,需要重构/重组。有很多使用标准的遗留助手类 Console.Out.WriteLine(); Console
这些是在 TestContext 类和 their respective definitions 中定义的(未弃用的)目录. 部署目录 获取为测试运行部署的文件的目录。此属性通常包含 TestRunD
我正在使用 MicrosoftTestTools。我有一个包含 [TestMethod] 和 [ClassInitialize] 的 A 类。 [ClassInitialize] public sta
我需要访问 TestContext.Properties之前 TestMethod所以测试可以接收到正确的环境进行测试。 我的内容test.runsettings :
我正在使用 VS2010。 TestContext.AddResultFile() 在我的单元测试期间产生不稳定的行为。有时它会将文件添加到报告中,有时则不会。在一次又一次地运行相同的基本虚拟测试后,
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我通过使用从 .csv 文件中读取的数据来参数化我的测试用例。 csv 文件中的一列具有美国格式的简单日期值(作为常规字符串),例如 mm/dd/yyyy。然而,当数据实际被读取并填充到 TestCo
我有一个单元测试: [Test] [TestCaseSource(typeof(AllExampleEnumValues))] public void GivenSth_WhenSth_ThenSth
我有一个测试方法正在调用 2 个子测试方法。两种子方法都是由 XML 文件驱动的数据。如果我运行每个子方法,它们运行良好且成功。但是,当我运行主测试方法(两个子方法的调用者)时,它发现 TestCon
目标: 我想使用 TestContext.TestName 属性提取正在运行的测试的名称,以便我的 [TestCleanup] 函数可以在每个测试完成时自动将结果记录到我们定制的结果存储库中。 问题:
使用 Visual Studio 生成测试单元类。然后注释进去,类的初始化方法。在其中使用 testContext 参数添加您的属性。 在测试应用程序启动时,此方法确实由测试基础架构调用。 //Use
我有一个 visual studio 2008 单元测试,我收到以下运行时错误: Unable to set TestContext property for the class JMPS.Plann
我正在尝试使用 Spring TestContext 框架对我的应用程序进行集成测试。我通过扩展 AbstractTransactionalJUnit4SpringContextTests 来做到这一
我的所有单元测试类都是由 Visual Studio 2008 从包含“TestContext”属性的内置单元测试模板创建的。到目前为止,我还没有使用过测试上下文,这个领域让 Resharper 和代
是否可以从传递给 DataProvider 的方法中获取 TextContext?这就是我的意思.. @DataProvider(name= "foo") public static Object[]
我有一个扩展方法,可以使用 DataRow 从 xml 中获取数据。而不是将行写为 TestContext.DataRow["Month"].ToString() 。我写了一个带有类型转换的扩展方法:
我希望能够在我的测试代码中访问测试的持续时间。我一直在查看 NUnit 中的 TestContext 类,但是当我找到关于“FullName”的信息时,我无法弄清楚从哪里访问测试持续时间。 [Tear
我有以下代码: [TestFixture] public class LexicalTests { [Test] public void LexicalTest1() {
我有 UWP 项目。使用 VS Community 2017 我在我的解决方案中添加了一个单元测试(添加项目-> Windows Universal -> Unit Test App (Windows
我今天早上一直在玩 watiN/Nunit 以捕获失败的 UI 测试的屏幕截图。但是,我在访问 Nunits TestContext.CurrentContext 时遇到了 NRE... 关于我做错了
我是一名优秀的程序员,十分优秀!