草庐IT

c# - 使用 stub 和模拟的正确方法是什么?

这是我的例子:[TestMethod]publicvoidNewAction_should_return_IndexAction(){NewViewModelviewModel=newNewViewModel(){Name="JoséInácioSantosSilva",Email="joseinacio@joseinacio.com",Username="joseinacio"};//IsUserRegisteredisusedtovalidateUsername,Usernameisunique._mockAuthenticationService.Setup(x=>x.IsUse

c# - 在名为 test113.onmicrosoft.com 的租户中找不到名为 HTTPS ://test113. onmicrosoft.com/FTP 的应用程序

我必须针对AzureAD对应用程序进行身份验证。我已经创建了WebAPI并将其添加到AzureAD应用程序部分。更改了list文件,创建了一个WebAPI并使用AzureAD进行了身份验证,并创建了一个Windows窗体,其中包含以下代码:privateasyncvoidbutton1_Click(objectsender,EventArgse){stringauthority="https://login.windows.net/test113.onmicrosoft.com";stringresourceURI="https://test113.onmicrosoft.com/ft

c# - 在测试期间应该如何处理过时的索引?

我在内存模式下使用RavenDB进行单元测试。我的查询由静态索引支持。我没有使用WaitForNonStaleResults()API(我也不想)。典型的测试工作流程是:在内存模式下初始化RavenDB使用IndexCreation.CreateIndexes(Assembly,IDocumentStore)集成索引插入测试数据(用于验证查询行为)运行查询验证查询输出我注意到第1-3步发生得如此之快,以至于静态索引在第4步之前没有时间更新-因此索引已经过时。我已经为此创建了一个快速解决方法。在第3步之后,我执行:while(documentStore.DocumentDatabase.

c# - 单元测试表达式树

我最近需要构建一个表达式树,所以我写了一个像这样的测试方法....../////////[TestMethod()][DeploymentItem("WATrust.Shared.Infrastructure.dll")]publicvoidBuildForeignKeysContainsPredicate_shoud_build_contains_predicate(){RemoteEntityRefLoader_Accessortarget=CreateRemoteEntityRefLoader_Accessor();ListforeignKeys=newList(){1,2,3,

c# - 在 Asp.Net MVC Web Api 中测试 Controller 时,ModelState.IsValid 始终为真

我已尝试完成这项工作,并进行了多次google/stackoverflow搜索,但一点运气都没有。我有一个简单的模型:publicclassMovieModel{publicstringId{get;set;}[Required][StringLength(100)]publicstringName{get;set;}}Controller中的一个方法://POST:api/MoviespublicIHttpActionResultPost([FromBody]MovieModelmovieModel){if(ModelState.IsValid){//Code}}和一个测试方法(是一

c# - 在 C# 中模拟非虚拟方法

这个问题在这里已经有了答案:Howtomocknonvirtualmethods?(8个答案)关闭11个月前。我正在尝试测试我使用模拟创建的一些类,但我发现c#中的所有免费模拟框架都无法模拟非虚拟方法(如果它不在接口(interface)中)。但是,有TypeMock可以做到这一点,所以这是可能的。任何人都可以展示如何去做吗?如果我能做到这一点,我什至可能会尝试为开源框架做出贡献。提前致谢

c# - 如何配置 Resharper 5.1 的 Test Runner 以接受网络共享?

我有一个位于网络共享上的项目。测试运行器尝试运行测试但失败并显示一条错误消息。单元测试运行程序无法加载程序集:JetBrains.ReSahrper.TaskRunnerFramework.TaskException:无法加载文件或组合'File://\myshare\VisualStudio2010\Projects\MyPorject\TestMyProject\bin\Release\TestMyProject.dll'或其依赖项之一。测试使用MSTest运行。我在VisualStudio2010Pro的devenv.exe.config中启用了loadFromRemoteSou

c# - NUnit 3 : Forbid tests to run in parallel

我安装了最新的NUnit(3.2.0),并且所有测试都并行运行。它可能看起来像是理想的行为,但我并没有要求它,实际上它破坏了我的一些测试。我在[OneTimeSetUp]中进行了一些依赖于线程的初始化,似乎我无法做任何事情来强制NUnit按顺序运行我的测试。我读过documentation它指出默认情况下测试不是并行运行的,但实际上它们是!此外,我尝试添加以下属性:[assembly:Parallelizable(ParallelScope.None)]—没有成功。有人知道如何改变这种行为吗?附言我使用ReSharper运行它,但也尝试使用MSVS插件。UPD:我正在使用MVVMLig

c# - 为什么 FakeItEasy 抛出这个异常,为什么使方法成为虚拟方法来修复它?

我有一个测试(代码在下面)来测试Method1调用Method2。我得到的异常是Thecurrentproxygeneratorcannotinterceptthespecifiedmethodforthefollowingreason:-Sealedmethodscannotbeintercepted.被测方法本身并未密封。但是,它确实依赖密封类(第三方类,我无法为其创建包装器以正确模拟它-另一个问题的另一个主题)。无论哪种方式,此时我都没有要求FakeItEasy模拟密封类。在调试我的测试时,当调用依赖项时,我可以清楚地看到正在生成一个真实的对象,而不是假的。然而,鉴于错误消息,我

c# - 使用 NUnit 在不同的应用程序域中运行单元测试

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