问题标签 [deploymentitem]

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 投票
2 回答
3590 浏览

unit-testing - MsTest:如何设置相对于 $(ProjectDir) 或 $(OutDir) 的部署项

我想在我的测试中添加一个部署项。据我到目前为止所了解的,路径是相对于解决方案的。我希望路径与项目相关。否则,该项目不能在多个解决方案中使用。如何将部署项配置为相对于项目因变量?

我希望得到类似的东西:[DeploymentItem(@"$(ProjectDir)..\..\bin\$(Configuration)")]但我没有找到任何文档,而且它似乎不起作用。


我只是做了一个小测试。只是简单的向导代码和一个部署项:

并且 trx 文件显示以下行:

警告:测试运行部署问题:无法获取测试“TestProject1.UnitTest1.TestMethod1”指定的部署项“stdafx.cpp”的文件:System.IO.FileNotFoundException:找不到文件“d:\Development\Projects\部署项目测试\stdafx.cpp'。System.IO.FileNotFoundException:找不到文件 'd:\Development\Projects\deploymentItemTest\stdafx.cpp'。文件名:'d:\Development\Projects\deploymentItemTest\stdafx.cpp'

这意味着“stdafx.cpp”是相对于解决方案目录(在 ...\depoymentItemTest 中)而不是项目目录(在 ...\depolymentItemTest\TestProject1 中)进行搜索的

0 投票
1 回答
377 浏览

c# - MSTest 与 WatiN 使用 DeploymentItem - 文件未被复制

我一直在浏览 stackoverflow,阅读有关 MSTest 和 DeploymentItem 的其他问题;我已经听从了所有的建议,但没有什么对我有用。我的测试项目中有一个名为“ImportFiles”的文件夹,其中有一个名为“contacts.xlsx”的文件,其属性“复制到输出目录”设置为“始终复制”,但是当我运行测试时该文件没有被复制。

下面的示例代码。有任何想法吗?

在测试初始化​​时,我也一直在监视目录。只有 dll 配置和 pdb 文件被复制。

0 投票
1 回答
470 浏览

mstest - MS 测试、解决方案中的多个测试项目和 DeploymentItemAttribute

我的 VS 2010 解决方案中有两个单元测试项目。每个项目都有一个 Data 目录,其中包含单元测试所需的输入数据。

我注释了需要数据的测试类

当我单独运行测试时,运行良好。但是,当我在解决方案中运行(或调试)所有测试时,我发现两个 Data 目录中只有一个被复制到TestResults\MyTestDir-YYYY-MM-DD HH_mm_SS\Out,导致依赖于另一个数据目录的单元测试失败。

有趣的是,如果我随后使用“测试结果”窗口重新运行已检查的(如失败的)测试,测试仍然失败(它们无法识别正确的数据目录的文件丢失)。如果我然后直接导航到失败的测试并选择在当前上下文中运行测试,则测试运行将获得正确的数据目录并且测试成功。

我的问题:如何将DeploymentItem两个单独的测试项目中的 s 全部复制到Out执行测试的目录中?

作为参考,我已经回顾了这些问题而没有注意到解决方案

DeploymentItem 属性的问题

MSTest 部署项是否仅在项目测试设置文件中存在时才有效?

0 投票
2 回答
1452 浏览

mstest - MSTest:从公共目录部署项目的明智方法?

最近在尝试处理 DeploymentItem 时,我失去了一些头发。

我们有一些本地 dll 的通用目录,许多测试都依赖于这些目录。

对于 C++ 项目,我们使用属性页,其中定义了这些路径。这些甚至可以通过一些手动编辑(因为它们是 MSBuild 文件)导入到 C# 项目中。我仍然不知道如何在测试中使用它们。

不幸的是,DeploymentItemAttribute 不能使用工作表中的属性,但它可以使用环境变量。我希望避免强迫每个人定义全局环境变量......

我在网上看到了各种建议,但还没有真正找到一个简单的解决方案。

有人对此有好的方法吗?

0 投票
1 回答
439 浏览

unmanaged - Linqpad 查询需要非托管部署项

如何在运行 Linqpad 查询时包含非托管程序集?

我正在运行最新的测试版(v4.42.06)。我通过 f4 Query 属性添加了对工作托管程序集的引用。我在 Linqpad 中输入了访问该程序集的类和方法的代码,当我点击运行时,我得到一个内部异常(来自我的托管程序集而不是 Linqpad),指出它无法打开(在这种情况下确实找到)依赖的非托管程序集通常与托管程序集一起驻留在目录中。

现在非托管程序集与我让 Linqpad 浏览到的添加的托管程序集一起存在,我可以以相同的方式 (f4) 添加非托管程序集,但它不会影响过程的结果。

当我在 Visual Studio 中对该模块进行单元测试时,我将属性DeploymentItem附加到单元测试方法并能够执行代码。

如何让 Linqpad 使用非托管程序集部署项执行?

0 投票
2 回答
2024 浏览

c# - DeploymentItem 在 VS2010 和 VS2012 中的行为不同

我有一个 VS2010 解决方案,我正在尝试升级到 VS2012。

我在 VS2012 中的 MSTest 单元测试有问题。所有测试都包括测试类的 DeploymentItem 属性。

在 2010 年,它正确地从SolutionDirectory\SubDir\SubDir2\models目录复制依赖文件。

在 2012 年,它试图从部署测试的目录中复制SolutionDirectory\UnitTests\bin\debug\SubDir\SubDir2\models

我正在寻找一种方法来恢复旧的行为。

0 投票
3 回答
15658 浏览

mstest - MSTest DeploymentItem 不会将文件复制到输出目录

美好的一天!

我有以下项目结构:

在我的测试文件中使用以下方法:

根据http://msdn.microsoft.com/en-us/library/ms182475%28v=vs.100%29.aspx我只想使用没有“部署项属性”的 DeployItemAttribute。

但是当我调试它的方法时,我发现“文件未找到异常”。

我能做些什么?

PS:还在http://social.msdn.microsoft.com/Forums/en-US/vststest/thread/474d51ee-7ab9-4311-b7b0-b21266eb01d5中发布了这个问题

此致!

0 投票
1 回答
218 浏览

c# - 如何获取 DeploymentItem 的名称?

我想摆脱这段代码中的一些重复。遵循 DRY 原则。
如您所见,文件/deploymentItem 的名称是重复的。

  • 有没有办法在不使用文件名的情况下以编程方式访问 DeploymentItem?
    或者
  • 我可以以某种方式以编程方式获取文件名吗?

不,我不能使用除 mstest 之外的其他测试框架;-)

0 投票
2 回答
836 浏览

c# - 更改 DeploymentItem 的名称

我正在使用DeploymentItems 来部署测试文件。我想知道是否可以在部署位置更改部署文件的名称,而不仅仅是复制。例如:

它会部署 test.txt,但会将文件重命名为 somethingelse.txt。

还是我只需要在运行实际测试之前使用文件 I/O API 手动执行此操作?

0 投票
1 回答
2733 浏览

c# - vs2012中的DeploymentItem不复制文件

我想在我的测试中添加一个部署项。

我的解决方案结构如下:

我尝试添加具有以下属性的文件:

…什么不起作用但是如果我指定绝对文件路径,vs 将复制文件。