Tag: 测试

在Asp.Net MVC Web Api中测试Controller时,ModelState.IsValid始终为true

我试图使这个工作,并进行了许多google / stackoverflow搜索,没有运气。 我有一个简单的模型: public class MovieModel { public string Id { get; set; } [Required] [StringLength(100)] public string Name { get; set; } } 控制器中的方法: // POST: api/Movies public IHttpActionResult Post([FromBody]MovieModel movieModel) { if (ModelState.IsValid) { //Code } } 一个测试方法(是一个集成测试,但在unit testing中会发生同样的情况): [TestMethod] public void MoviesController_Post_Without_Name() { // Arrange var model = new MovieModel(); model.Name […]

用于测试的公共Active目录

我需要编写一些.NET代码来列出用户和组。 我正在计划使用LINQ。 我无法访问Active目录进行测试。 我没有服务器,也无法设置自己的Active目录。 是否有可用于测试的公共Active目录。 代码只是从Active目录中读取数据而不是写入任何数据。

如何在C#中加载我的测试数据?

我很难找到一种在C#中加载测试数据的简单方法。 在Java中,我使用以下代码加载资源: … public static InputStream loadResource(String resource) throws LoadException { InputStream is = TestUtils.class.getResourceAsStream(resource); if (is == null) { throw new LoadException(“Error loading ‘” + resource + “‘”); } return is; } … public static void main(String[] args) { InputStream is = TestUtils.loadResource(“/resourcelocation”); } 我试图使用C#资源文件,但我发现加载和操作它很尴尬。 有没有更简单的方法来加载C#中的资源?

Form.ShowDialog()不显示启用调试的窗口

我在unit testing项目中创建了一个测试,我希望在其中使用ShowDialog()函数弹出一个Form : [TestMethod] public void TestDialog() { // This class inherits from Form TestForm serviceTestForm = new TestForm(“My test form”); serviceTestForm.ShowDialog(); return; } 我希望这个测试能够达到ShowDialog() ,并且无限期地运行,直到我关闭窗口。 但是,当我“使用调试”运行此测试时,测试到达ShowDialog() ,并且不显示任何表单。 奇怪的是,如果我运行“没有调试”,这个完全相同的测试工作 。 我需要能够“通过调试”运行测试并显示窗口。 其他说明: Show()是不可取的,因为它不等待窗口关闭继续。 (除此之外……它不起作用。) 这个代码以前在使用.NET 3.5的另一个项目上工作过。 这只是说ShowDialog()策略之前肯定有效。 (是的,我直接复制了那个工作代码。) 我的问题类似于这个问题,但是,我的表单不是另一个对话框的子代,并且不在父UI线程中。

如何将样本(虚拟)数据添加到unit testing中?

在较大的项目中,我的unit testing通常需要一些“虚拟”(样本)数据来运行。 一些默认客户,用户等。我想知道你的设置是怎样的。 您如何组织/维护这些数据? 如何将其应用于您的unit testing(任何自动化工具)? 你真的需要测试数据还是认为它没用? 我目前的解决方案 我区分主数据和样本数据 ,其中前者在系统投入生产时可用(第一次安装),后者是我运行测试所需的典型用例(以及在开发期间播放)。 我将所有这些存储在一个Excel文件中(因为它很容易维护),其中每个工作表包含一个特定的实体(例如用户,客户等),并标记为主文件或样本。 我有2个测试用例,我(想念)使用它来导入必要的数据: InitForDevelopment(创建架构,导入主数据,导入样本数据) InitForProduction(创建架构,导入主数据)

如何在Visual Studio 2010中调试Nunit测试

我在调试VisualStudio的NUnit测试时遇到问题。 我创建了一个空项目(控制台应用程序),然后我添加了对NUnit库的引用并编写了一个简单的测试。 namespace ReimplementingLinq.Tests { [TestFixture] public class WhereTest { [Test] public void SimpleFiltering() { int[] source = { 1, 2, 3, 4, 2, 8, 1 }; var result = source.Where(val => val < 4); int[] expected = {1,2,3,4}; CollectionAssert.AreEqual(expected, result); } } } 接下来我遵循此链接中给出的建议如何从Visual Studio以调试模式运行NUnit? 但是那个主题的解决方案都不适合我。 执行测试时,没有任何断点被击中。 我尝试通过附加到流程并使用带参数的外部程序运行项目来测试解决方案。 我该怎么做才能调试我的unit testing?

是否可以(使用Moq)使用Lambda参数进行存根方法调用?

如果我这样做: var repository = new Mock<IRepository>(); repository.Setup(x => x.Where(banner => banner.Is.AvailableForFrontend())).Returns(list); “Where”是我的存储库中采用Func<T, ISpecification 。 AvailableForFrontend返回ISpecification的实现,list是存储库的generics类型的IEnumberable。 它编译得很好,但是当我运行我的测试时,我得到以下错误。 —- System.NotSupportedException : Expression banner => Convert((banner.Is.AvailableForFrontend() & banner.Is.SmallMediaBanner())) is not supported. 如果我在存储库中使用Where的其他重载直接进行ISpecification,则没有问题。 所以我的新手模拟/ Moq问题是:我可以使用lamdba作为参数存根方法调用吗? 或者我应该以另一种方式解决这个问题?

C# – WPF:测试策略

我是C#4.0和WPF的新手,我即将开始一个新的应用程序。 来自C ++ / MFC世界,我对测试与最新技术一起使用的策略感兴趣。 例如: unit testing function测试 UI测试 其他? 任何意见,将不胜感激。 谢谢。

测试entity framework数据库连接

我有一个通过entity framework连接到MYSQL数据库的应用程序。 它100%完美地工作,但我想添加一小段代码,在app启动时测试与数据库的连接。 我只想简单地向数据库运行一个小命令并捕获任何exception,但是如果出现问题(例如App.Config丢失或数据库服务器关闭),应用程序需要花费大量时间来运行此代码然后抛出例外(约1分钟)。 我想这是由于连接超时等,但我摆弄这些属性无济于事。 谁能够协助任何关于去哪里的想法?

包装类的代码生成器

你知道一个基于另一个类生成包装类的工具吗? 编辑:包装类我的意思是一个包装所有暴露(公共,受保护)属性方法事件的类,以便您可以将任何逻辑放在中间。 我的具体目的是用它来validation包装类的行为。