【c# – 在TDD中创建测试数据的最佳位置在哪里?】教程文章相关的互联网学习教程文章

单元测试中的Linq-SQL查询逻辑【代码】

我正在尝试为我的代码编写一些单元测试.在out项目中,我们使用从DBML创建的Linq-SQL对象.我试图弄清楚我将如何测试以下逻辑. 例如,我需要使用LINQ从表中获取记录数.var objectCount = (from x in DB.MyRecordswhere x.DateAdded.Date == DateTime.Now.Dateselect x).Count(); //For example this will return 4if(objectCount > 3) {//Do some logic here } else {//Do some logic here }现在,我的理解是,如果您访问数据库,则单元测...

C#通过代码配置运行mysql数据库(测试版本:mysql-8.0.15-winx64)

主要通过调用CMD配置mysql 分为三个核心步骤: 1.通过代码 在指定路径解压mysql文件(nuget 获取sharpzipXXX,跨卷拷贝要自己写递归文件拷贝),并将mysql的bin路径添加系统变量的path(可百度搜索C#如何添加环境变量) 2.代码创建数据库配置文件my.ini 要调用kernel.dll (可搜索如何通过C#创建ini文件) 3.重点讲调用cmd配置数据库 这部分花费时间较多 直接上代码:using System; using System.Collections.Generic; using Syste...

c# – 在单元测试中进行模拟时,数据库/实体框架与内存列表之间的差异

我最近一直在用模拟进行大量的单元测试.让我觉得有点问题的一件事是查询内存列表(通过模拟我的存储库)和通过实体框架直接查询数据库之间的区别. 其中一些情况可能是: >测试过滤器参数,该参数对数据库不区分大小写,但区分大小写对内存集合导致错误的失败.> Linq语句可能会针对内存集合传递,但会对实体框架失败,因为它们不受支持导致错误传递. 处理或解决这些差异的正确方法是什么,以便在测试中没有错误传递或失败?我非常喜欢嘲笑,...

c# – 使用SQL查询在单元测试中模拟IDocumentQuery【代码】

我正在使用单元测试来测试DocumentDBRepository类.我以this post作为SQL查询用例的示例.但它显示错误Message: System.InvalidCastException : Unable to cast object of type‘System.Linq.EnumerableQueryto type‘Microsoft.Azure.Documents.Linq.IDocumentQuery这是我的DocumentDBRepository类的代码private IDocumentQuery<T> GetQueryBySQL(string queryStr) {var uri = UriFactory.CreateDocumentCollectionUri(_databaseId,...

通过C#测试测试您的数据库

我被分配了测试数据库的任务.它是一个测试数据库,我们可以做任何我们想做的事情并轻松回滚.我已经接受了这项任务,因为我们仍处于设计阶段(意味着项目的任何时间点都可能发生任何变化……将Person.FirstName列重命名为[First_Name],然后将其重命名为[ [名字].我的目标是粗略估计当我们做出改变时我们正在走向什么样的痛苦,以便我们可以提前做好计划.我们也可以在生产过程中期待这些变化. 我列表中的项目是并且已经编写了以下测试: ...

c# – 在内存中模拟LinqToSql存储库以用于单元测试

我正在研究制作一个可以在单元测试中使用的可模拟DataContext.一种方法被描述为here.但是,这种方法的问题是对存储库的更改会立即生效 – 在调用Commit(或任何其他等效于SubmitChanges)之前. 另一方面,包含正确的SubmitChanges行为将涉及从DataContext复制许多复杂的代码,并可能导致更多错误. 模拟内存存储库(不等待SubmitChanges)的天真实现是否可用于单元测试?这通常是怎么做的?解决方法:被测试的类/组件是什么?如果您没有直接...

c# – 如何对将数据项添加到数据库的方法进行单元测试?【代码】

我有一个项目,我使用此方法将其添加到数据库:public Messages addItem(Item item) {Messages resultMessage = Messages.Success;using (IUnitOfWork unitOfWork = new UnitOfWork()){IItemRepository itemRep = new ItemRepository(unitOfWork);try{itemRep.Insert(item);unitOfWork.Commit();}catch (Exception e){Console.WriteLine(e.StackTrace);resultMessage = Messages.DB_Failure;}} return resultMessage; }现在,我...

c#-Windows窗体应用程序的性能测试

我们有一个非常老的Windows窗体应用程序,它使用.net远程处理与服务器进行通信. 谁能推荐一种方法或工具进行性能测试.解决方法:上次我看时,没有很好的工具可以对许多用户的Windows应用程序进行性能测试. 您可以使用profiler查看单用户情况太慢的情况.如果只剩下一堆用户,那么大多数UI测试工具都可以用来记录在几台计算机上播放的脚本. 否则,您需要编写一个与Windows窗体应用程序相同的与服务器通信的命令行应用程序,然后运行该命令行...

c# – 有没有办法在Windows 10(UWP)项目中进行UI单元测试?

通用Windows平台应用程序具有单元测试项目,但它运行测试的速度很慢.我认为这是因为Xaml UI测试.有人知道在单元测试中禁用UI测试的方法吗?解决方法:我正在研究同样的事情.我也找不到方法,但在xaml.cs文件中你可以看到Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments);.也许有一种方法可以将项目转换为非UI测试项目,并从main()左右调用它…

c# – 从命令行在Ubuntu上运行NUnit测试【代码】

如何从命令行在Ubuntu上运行NUnit测试? 我创建了文件OnlyTest.csusing System; using System.Text; using System.Collections.Generic; using NUnit.Framework;[TestFixture] public class OnlyTest {[Test]public void MyTest() {int a = 10;Assert.AreEqual(10, a);} }根据文章Running NuGet command-line on Linux我已经下载了文件NuGet.exe和Microsoft.Build.dll 我运行NuGet来安装NUnit$mono NuGet.exe install NUnitInstall...

c# – 如何让内存来测试另一个应用程序?【代码】

所以我想在低内存条件下测试我的Windows应用程序,我发现最简单的方法是创建另一个只占用内存的应用程序(一个控制台应用程序). 我创造了这个怪物:while (true) {try{Marshal.AllocHGlobal(1024);}catch{} }但它只有3.7 GB.然后我打开这个应用程序的另一个实例,它又回来了. 如何让垃圾收集器收集我的分配? 或者:如何在我的通用Windows应用程序上测试低内存条件?解决方法:您可以尝试将GCSettings延迟模式更改为SustainedLowLatenc...