Tag: testing

entity framework核心InMemory数据库测试在并行运行时中断

在运行所有测试时,我最终会收到错误消息: “已添加具有相同密钥的项目。密钥:125” 每次测试单独运行时都不会发生这种情况。 有趣的是,每个测试使用不同的DbName,以避免任何冲突: [TestMethod] public void Test1() { using (var context = CreateTestingContext()) { … } } [TestMethod] public void Test2() { using (var context = CreateTestingContext()) { … } } protected static SGDTPContext CreateTestingContext([CallerMemberName] string dbName = “TestingDb”) { var builder = new DbContextOptionsBuilder().UseInMemoryDatabase(dbName); return new MyDbContext(builder.Options); } 这真的很奇怪,因为当我单独进行测试时,它们是绿色的! 当我同时运行它们时,有些最终会失败。 注意:我正在使用Visual Studio 2017中集成的MSTest。

VSTOunit testing通过RequestComAddInAutomationService在C#.NET中添加Office

在过去的几周里,我一直在阅读各种StackOverflow问题和其他教程和文档(下面注意其中一些),试图找到一种unit testingVSTO AddIn的方法。 不幸的是,它总是在我的测试中导致E_NOINTERFACEexception。 我正在使用的代码如下 – 覆盖RequestComAddinAutomationService的ThisAddin部分类的一个提取,另一个描述测试实用程序接口的提取,测试本身,以及另一个程序集提取,certificateAddIn程序集及其内部对测试可见。 我的问题是 :为什么这不起作用? 我很确定这遵循VSTO测试的普遍接受的做法。 如果以下不再可能,那么应该如何测试VSTO? .NET remoting / IPC是唯一的解决方案吗? ThisAddin.cs public partial class ThisAddin { #region Testing Utilities private AddinHelper _comAddinObject; protected override object RequestComAddInAutomationService() { // This is being called when I debug/run my project, but not when I run the tests return _comAddinObject ?? (_comAddinObject = new […]

使用NUnit在不同的appdomain中运行unit testing

我似乎遇到了一个问题,我们正在使用的应用程序使用Ninject内核,并包含一个使用WCF调用内容(username,token …)收集的特定配置。 基于特定配置,用户被分配了应用程序的权限,这通过Ninject内核中的特定实例进行屏蔽。 我们不能只重新组合Ninject内核,我们想要做的是运行几个Nunit测试,但是在一个单独的应用程序域中运行它们(每次使用不同的设置重新创建内核)。 我只找到了在不同应用领域运行整个测试项目的方法,但没有测试每个测试。 有办法解决这个问题吗? 不幸的是,Ninject配置不在我们这边,我们必须以这种方式“生活”。