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

c# – 异常的Web API单元测试?【代码】

我为异常写了一个单元测试.但看起来它无法正常工作.它总是说’404 Not Found’状态.这意味着找不到网址请求.如果我在浏览器上粘贴相同的URL,HttpResponse.StatusCode会说BAD REQUEST. 我不明白为什么它不适用于单元测试.[TestMethod()]public void GetTechDisciplinesTestException(){var config = new HttpSelfHostConfiguration("http://localhost:51546/");config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");...

c# – 测试字符串中的所有可能性【代码】

我试图测试(比较内存中的另一个值)字符串中所有可能的组合,但想知道最好的方法是做什么. 我的输入字符串是0246,诀窍是每个数字可以是2个选项之一,例如:[0,1][2,3][4,5][6,7]我希望能够翻转所有可能的组合,这有点像破解保险箱,但这不是我的目的,我保证! 我正在考虑做一个foreach循环切换每个选项,但我的循环将嵌套,我知道性能将受到打击,因为Linq就像新的黑色,这可以用它完成吗? UPDATE * 我希望结果按从低到高的顺序返回,因为我...

c# – 用于测试调用异步方法的ICommand的模式【代码】

我只关注单元测试(NUnit)ICommand的最佳实践,特别是MVVMCross中的MvxCommand实施 查看模型public ICommand GetAuthorisationCommand {get { return new MvxCommand(async () => await GetAuthorisationToken(),() => !string.IsNullOrWhiteSpace(UserName) && !string.IsNullOrWhiteSpace(Password)); } }private async Task GetAuthorisationToken() {// ...Do something async }单元测试[Test] public async Task DoLogonCommand...

c# – 如何测试数值转换是否会改变值?【代码】

我正在执行一些数据类型转换,我需要将uint,long,ulong和decimal表示为IEEE 754双浮点值.我希望能够在执行转换之前检测IEEE 754数据类型是否包含该值. 一个强力解决方案是将一个try-catch包装在一个强制转换器周围,以便查找OverflowException.阅读CLR documentation中的某些内容意味着某些转换只是默默地改变了值而没有任何例外. 有没有任何万无一失的方法来做这个检查?我正在寻求完整性而非易于实施.我有一种感觉,我将仔细阅读IEE...

c# – 带有MS测试的TDD【代码】

像所有优秀的程序员一样,在使用带有MS Test的TDD时,我正试图直截了当.我遵循基本的安排,行为,断言模式,对于我的行为代码看起来太复杂了.我假设法案行中只应该有一个动作.那么,鉴于我的示例代码如下,我是否首先执行一个操作然后测试其状态?感谢您的投入.[TestMethod]public void TheCountOfAllRecordsIsGreaterThanZero(){//Arrangevar auditLog = new AuditMasterClass();//Act//Create a new record in a local list of objectsa...

c# – resharper可以跳转到包含单元测试的文件吗?

是否有可能以某种方式链接或使用某些约定,以便我可以在给定类的单元测试之间跳转? 另外,在界面和实现之间创建快捷方式? (键盘快捷键) 例: IUserServiceUserServiceUserServiceTests 如果我可以以某种方式将这些链接在一起,那将是很好的,所以我可以跳转到任何这些文件,而在其中任何一个目前.解决方法:Is it possible to somehow link or use some convention so I can jump between my unit tests for a given class?要在给定类的...

Selenium Webdriver C#如何测试元素不存在?【代码】

填写必填字段时可以找到此元素:IWebElement e1SK = Driver.Instance.FindElement(By.XPath(baseXPathSendKeys + "div[2]/textarea"));如果未填写必填字段,则不应存在上述元素. 该测试抛出异常: OpenQA.Selenium.ElementNotVisibleException:元素当前不可见,因此可能无法与之交互 这是我需要创建一个方法还是比这更简单?如果你能展示一个例子,它会有所帮助,我还是C#和Selenium Webdriver的新手. 我已经读过,我可以使用一个名为f...

c# – 为什么在单元测试中无法访问该类?【代码】

我为一个名为game.cs的类中的方法创建了一个单元测试.出于某种原因,当我引用该类时,我无法创建新实例.如何使这个类可访问,以便我可以测试我的代码? 文件层次结构和解决方案:using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using BowlingKataTDD;namespace BowlingKataTDDTest {[TestClass]public class BowlingKataTDDUnitTests {[TestMethod]public void DoesGameExist(){//arrangeBowlingKataTDD.}} }Bow...

c# – Nunit,NCrunch和NSubstitute – 使用UnexpectedArgumentMatcherException总是2次测试失败,它随机改变(准)【代码】

我有一个使用NUnit 3.4.1,NSubstitute 1.10.0和NCrunch 2.23.0.2的文本夹具 在任何时间点,该夹具中都有2次测试.每次更改内容时,哪个测试失败似乎都会有所不同.并非所有的测试最终都会失败一段时间,但大多数测试都会失败,并且问题始终是一条线上的NSubstitute异常:// _clock is initialized as _clock = Substitute.For<IClock>(); // the dates in the Returns statement change on every test _clock.Now.Returns(new DateTime(2...

c# – 在Android设备上测试您的Xamarin应用

我在Xamarin Studio(带有C#的Android)中开发了一个测试应用程序,并希望在我的手机上进行测试. 该应用程序在设备模拟器(相同操作系统版本)中运行良好,但是当我在手机上安装/打开它时,它只是说“TestApplication停止工作”我从在线搜索中知道数千个问题可能导致此错误消息但我的问题是: 在我的机器人上导出我的应用程序就像这样简单: >编译应用程序>将签名的.apk放在.bin文件夹中>在手机上拖动.apk(我正在使用AirDroid来拖动文件)>...

c# – 测试Patch odata webapi方法【代码】

我需要在我的测试项目的odata控制器中测试以下Patch方法.[ValidateModel][AcceptVerbs("PATCH", "MERGE")]public async Task<IHttpActionResult> Patch([FromODataUri] int key, Delta<User> patch){var user = await db.Users.FindAsync(key);if (user == null){return NotFound();}patch.Patch(user);Validate(user);if (!ModelState.IsValid){return BadRequest(ModelState);}try{db.Entry(user).Property(p => p.UserType).IsM...

c# – 包装静态类/方法以进行单元测试吗?【代码】

我有一个我用于记录的静态类:public static class myLogger {public static ErrorLogging(string input){//dostuff} }我使用它的方式是:public class myClassthatDoesStuff {...myLogger.ErrorLogging("some error ocurred");... }如何对myLogger类进行moq以便能够对其进行单元测试并确保执行ErrorLogging方法?是否可以在构造函数中没有设置任何参数(构造函数注入)的情况下执行此操作? myClassthatDoesStuff要求构造函数中没有...

c# – 如何测试一个矩形是否在另一个矩形中?【代码】

好吧,所以我正在开发一款游戏,我发现我的敌人不喜欢我的碰撞检测,这对我的玩家来说非常有效.经过一些调试我发现它是因为我的敌人比我的瓷砖大,而我的玩家比我的瓷砖小. 现在我需要能够成为大敌和老板,所以这不会做.所以我需要找出一种更好的方法来测试碰撞检测.这就是我目前的做法: 上和下:if((enemy.left > tile.left && enemy.left < tile.right || enemy.right > tile.left && enemy.right < tile.right) && enemy.top < tile...

c# – 如何使用反射对Dispose()进行单元测试?【代码】

我想为实现IDisposable的类编写单元测试.该类有许多私有字段,也实现IDisposable.在我的测试中,我想验证当我调用Dispose()时,它正确地在所有IDisposable字段上调用Dispose().基本上,我希望我的单元测试看起来像这样:var o = new ObjectUnderTest(); o.Dispose(); Assert.IsFalse(ObjectHasUndisposedDisposables(o));我正在考虑使用反射来实现这一目标.看起来这是一个相当普遍的要求,但我找不到它的任何例子. 有人试过吗? 编辑 –...

C#测试为null【代码】

我正在使用C#编写一个简单的程序来读取Active Directory并显示Windows窗体程序中AD字段中保存的值. 如果某个属性不存在则程序崩溃,下面是我的代码,如何在不对每个属性执行try / catch的情况下捕获并转移到下一个字段?DirectoryEntry usr = new DirectoryEntry("LDAP://" + domain, username, password); DirectorySearcher searcher = new DirectorySearcher(usr); searcher.Filter = "(sAMAccountName=" + GlobalClass.strUserNa...