Tag: pex and moles

当测试具有主机类型“Moles”时,无法访问配置文件中的信息

当unit testing的主机类型为“Moles”时,我们在通过unit testing访问.net配置文件(例如app.config和web.config)中的信息时遇到问题。 这引起了不少令人头疼的问题,所以我希望有人知道可以做些什么。 我们正在使用Visual Studio 2010,我相信我们已经在安装了VS 2010 SP1的机器上安装了这个,并且没有安装SP1的机器,以及在32位和64位机器上尝试它。 我冒昧地将测试缩减到最简单的条件。 可以通过组合由以下两个文件组成的unit testing项目来重新创建该问题,并在取消注释唯一的注释行之后运行测试。 测试在没有主机类型的情况下工作,但是当您将Moles作为主机类型引入时,测试中的空断言将失败。 我们不确定为什么。 一,配置文件App.config: 接下来,包含单个测试的测试类: namespace TestProject { using System.Configuration; using Microsoft.VisualStudio.TestTools.UnitTesting; [TestClass] public class UnitTest { [TestMethod] //[HostType(“Moles”)] public void TestMethod() { var data = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Assert.IsNotNull(data.ConnectionStrings.ConnectionStrings[“Connection”]); } } } 如果有人能提供任何见解,我将不胜感激。 非常感谢, 缺口

什么作为模拟IQueryable的提供者

我正在使用Moles并模拟System.Data.Linq.Table。 我把它构造得很好,但是当我使用它时,它需要IQueryable。 提供者也被嘲笑(moled)。 我只是想让它使用普通的Linq To Objects。 知道那会是什么吗? 这是我可以使用的语法: MTable userTable = new System.Data.Linq.Moles.MTable(); userTable.Bind(new List { UserObjectHelper.TestUser() }); // this is the line that needs help MolesDelegates.Func provider = //Insert provider here! ^ userTable.ProviderSystemLinqIQueryableget = provider | | | what can I put here? —————————————-+

使用MS Moles Moling DataContext?

我怎样才能扼杀我在类中使用的DataContext来将消息写入表中。 我想声明LINQ写入的表具有预期的消息计数。 这是我到目前为止所拥有的。 var context = new MJustTestingDataContext(); MyMessagewriter writer = new MyMessageWriter(context); var messageList = new List(); MTable messageTable = new MTable(); messageTable.Bind(messagesLinqList.AsQueryable()); 如果我在测试的类中使用xUnit这个代码,我会得到这个exception Microsoft.Moles.Framework.Moles.MoleNotImplementedException: DataContext.Dispose() was not moled. 我在这里缺少什么以及如何在mole上实现DataContext.Dispose()? 我在没有Pex的情况下独立使用鼹鼠。

C# – “\ 0”等同于什么?

我正在玩Pex ,它传递给我的方法的参数之一是”\0″ 。 那是什么意思? 我的猜测是基于我的方法内容的空字符串( “” )。 但是,如果它是相同的,为什么不使用””而不是”\0″ ? 有人知道这是什么吗?