问题标签 [pex]

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 回答
193 浏览

pex - 有什么办法可以简化路径条件

例如,在下面的代码中,路径条件将为x>0 && x+1>0. 但是由于x>0暗示x+1>0,z3 或 pex API 中是否有任何方法只能获取x>0而不是两者兼而有之。

谢谢

0 投票
0 回答
353 浏览

crash - 团队构建期间的 Pex 错误(TFS 2010 构建)

我们一直在使用 pex 和 moles 与 TFS2010 进行统一测试。最近,pex 和 moles 在试运行期间开始随机崩溃。我们无法在开发人员机器上重现此错误。崩溃只发生在团队构建服务器上。我们正在使用版本 en_visual_studio_2010_pex_0.94.51006.1_power_tools_x86_exe_593303

这是来自构建日志的错误。

这是来自构建服务器的事件日志

1)

2)

0 投票
0 回答
143 浏览

compact-framework - Microsoft Moles 是否支持 .NET Compact Framework?

我目前正在为使用 .NET Compact Framework 2.0 的基于 WinCE 的应用程序进行单元测试。

我想知道,Moles Framework 是否支持 .NET Compact Framework 2.0?如果没有,有人可以建议另一个支持 .NET Compact Framework 的模拟框架吗?

0 投票
1 回答
714 浏览

tfs - 在 TFS 构建中的 Visual Studio 2010 远程测试代理下使用 Microsoft Moles 主机运行单元测试

我们希望我们的 TFS 自动化 CI 构建和测试过程使用远程测试代理来独立于我们的构建代理运行我们的测试。在不使用 moles 或 moles 主机的正常单元测试中,我们没有问题。但是,当我们在 .testsettings 中包含一个 moles 主机或有一个 moles 托管测试(通过 HostType("Moles") 属性)时,测试代理似乎会尝试获取构建代理使用的 moled .dll 的路径. 几乎就像构建代理将完整路径传递给测试代理并且测试代理使用它一样。我们要么得到“您没有执行此操作的适当权限”(实际上每个服务都以管理权限运行),要么得到一个神秘的“MSTest failed 返回代码 1 预期 0”并且没有日志记录信息。

我对小组的问题:

  1. 有没有人让 MSTest、Moles、TFS Build 和 Visual Studio 2010 测试控制器/测试代理(不是测试实验室设置的一部分)工作?
  2. 如果你已经让它工作了,你的设置是什么?
0 投票
1 回答
206 浏览

c# - 关于 pex 限制的问题

我正在对一些 c# 代码进行测试,而 pex 没有用 Math.Acos 覆盖该语句(它是大型 switch 语句的一部分)。我很好奇是否有人知道为什么 pex 有这个限制?我在网上看了看,找不到任何东西。

0 投票
1 回答
494 浏览

moles - Pex & Moles - 依赖注射

我是 Pex 和 Moles 的新手。我正在尝试在我的代码上运行 Pex,但我正在使用构造函数注入。有没有办法指导 Pex 如何注入构造函数?

编辑

我需要注入一个存根 userRepository。调用 _userRepository.GetById(id) 时,Pex 失败并出现 NullReferenceException。我一直在使用 Moq 进行单元测试,但我想切换到 pex 和 moles

我应该使用 PexFactories 创建我的存根吗?

0 投票
3 回答
715 浏览

c# - Pex 和代码合同

以下是 Pex 文档 pexandcontracts.pdf http://research.microsoft.com/en-us/projects/pex/pexandcontracts.pdf中的代码示例。我意识到这不是特定于 pex 的问题,而是与代码合同有关,但它是 pex 教程中的代码。

静态验证器提供以下警告:

CodeContracts:确保未经证实:!Contract.Result().EndsWith(suffix) 在点 (1) 和点 (2)。

我的问题是,如何解决这个问题?根据 pex 的探索,合同没有被违反的可能性。(... 在那儿?)

0 投票
1 回答
97 浏览

pex - 如何丰富 PEX 生成的测试用例?

这是我的问题:我必须测试一种将三个短列表连接成一个较长列表的方法。我(pex)假设任何短名单都不为空(下面列出了句子)。

但是测试是这样进行的:pex 生成的测试用例都是零列表。这是一个示例:第一个 {0,0} {0} {0}

第二 {0} {0,0} {0}

第三个 {0,0} {0} {0,0}

结果 {0,0,0,0,0} {0,0,0,0} {0,0,0,0}

这是我的问题:如何设置假设来丰富 PEX 生成的测试用例,这样就不会有那么多 0?

谢谢!

0 投票
0 回答
1587 浏览

.net-4.0 - 无法在 Visual Studio 2010 SP1 中引用 Microsoft.Moles.Framework.dll

实际上我已经解决了这个问题,但我仍然对我解决这个问题的方式并不满意。

我有 VS2010 SP1,我需要 SP1 才能使用 Azure SDK。

首先,安装 Pex 和 Moles 以某种方式创建了 System.XML.dll 的问题。它只是从所有项目的参考资料中消失了。我必须明确找到它并将其连接到使用它的所有解决方案。

此外,Moles 本身存在更大的问题。TestProjects 只是无法找到 Microsoft.Moles.Framework.dll。它产生了各种各样的错误。

当我尝试在“添加引用”对话框中添加对 Microsoft.Moles.Framework 的引用时,我收到消息:“Microsoft.Moles.Framework,Version=0.94.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”与 .NET Framework 4 不兼容

解决方案是在 C:\Program Files\Microsoft Moles\PublicAssembliesSilverlight 中显式添加对 Microsoft.Moles.Framework.dll 的引用。在那之后,到目前为止一切正常。

我希望这些信息对某人有所帮助。

0 投票
2 回答
543 浏览

c# - 使用 Pex 和代码合同进行单元测试

我有以下方法:

我创建了一个参数化单元测试并使用 Pex 来进行一些单元测试。正如预期的那样,Pex 测试了合同约束并传入了违反合同的 qtrs 值。我告诉单元测试期待异常: [ExpectedException(typeof(TraceAssertionException))] 并且一切都通过了。

现在,当我使用 MS 测试工具(不带 Pex)运行单元测试时,出现错误: 描述:前提条件失败:(qtrs * 3 >= -120000 && ......

它给了我堆栈跟踪,基本上告诉我contracthelper失败了。然后我可以选择中止、重试或忽略。

无论哪种方式,测试都失败了,我得到: Failed SubQtrsThrowsTraceAssertionException818 DGALib.Extensions.Tests 测试方法 System.ExtensionMethodsTest.SubQtrsThrowsTraceAssertionException818 抛出异常 System.ArgumentOutOfRangeException,但异常 Microsoft.Pex.Framework.Exceptions.TraceAssertionException 是预期的。异常消息:System.ArgumentOutOfRangeException:月份值必须介于 +/-120000 之间。...

为什么单元测试不再识别代码合约错误?