Tag: 测试

南希测试在其他组装中找不到路线

我有以下规范(使用Machine.Specifications或mSpec): public class when_a_user_logs_in_successfully { static Browser _browser; static BrowserResponse _response; Establish context = () => { var bootstrapper = new ConfigurableBootstrapper(); _browser = new Browser(bootstrapper); }; Because of = () => _response = _browser.Get(“/Login”, with => with.HttpRequest()); It should_return_a_successful_response = () => _response.Body.ShouldNotBeNull(); } 规范中的路径应该找到以下模块: public class LoginModule : NancyModule { public LoginModule() { […]

如何在Visual Studio中将编程文本注入我的Coded UI测试(而不是录制的文本)?

录音机可以很好地快速完成一些步骤,但我需要能够存储和设置任意文本。 假设我生成了一个名为Admin001的新管理员用户。 我希望能够将控件的文本设置为“Admin001”,而不是我第一次使用构建器时记录的内容。 我知道你可以对CSV等进行数据绑定,但这太麻烦了。 我希望能够编写C#代码来更改键入的文本。 截图: 代码尝试: var loginElement = new UILoginInternetExploreWindow().UILoginDocument.UIUserNameorEmailAddreEdit.Text; 所以我能够得到属性.Text(我想),但实际上没有设置它…

如何在C#中拦截调试信息(Debugview样式)?

出于测试目的,我计划将一个小应用程序放在一起,该应用程序将监听来自应用程序的特定事件并在此时与其进行交互。 鉴于我们处于测试过程的某个阶段,改变应用程序代码是不可能的,从我的观点来看,理想的是从应用程序中监听调试跟踪,有点像debugview,并且响应那个。 谁能提供关于如何最好地解决这个问题的指导?

自动测试ApiController

我有一个ApiController并希望通过包括路由在内的unit testing进行测试。 一个例子: [RoutePrefix(“prefix”)] public class Controller : ApiController { [HttpGet] [Route(“{id1}”)] public int Add(int id1, [FromUri] int id2) { return id1 + id2; } } 我现在想测试这种方法。 我明白了,我可以像普通方法一样测试它。 但我还想通过将URL转换为方法参数来测试它。 基本上我想有一个自动测试,我调用一个像prefix/10?id2=5的URL,得到15的结果。这有可能吗?

确定Equals()是否为覆盖?

我有一个Type(type)的实例。 如何确定它是否覆盖Equals()?

unit testingWindows 8 Store App UI(Xaml控件)

我一直在创建一个Windowsapp store应用程序,但是我测试了一个创建网格(这是一个XAML控件)的方法的线程问题。 我试过使用NUnit和MSTest进行测试。 测试方法是: [TestMethod] public void CreateThumbnail_EmptyLayout_ReturnsEmptyGrid() { Layout l = new Layout(); ThumbnailCreator creator = new ThumbnailCreator(); Grid grid = creator.CreateThumbnail(l, 192, 120); int count = grid.Children.Count; Assert.AreEqual(count, 0); } 和creator.CreateThumbnail(抛出错误的方法): public Grid CreateThumbnail(Layout l, double totalWidth, double totalHeight) { Grid newGrid = new Grid(); newGrid.Width = totalWidth; newGrid.Height = totalHeight; SolidColorBrush backGroundBrush […]

使用Moq测试抽象类

我正在尝试对抽象类中的方法运行unit testing。 我浓缩了下面的代码: 抽象类: public abstract class TestAb { public void Print() { Console.WriteLine(“method has been called”); } } 测试: [Test] void Test() { var mock = new Mock(); mock.CallBase = true; var ta = mock.Object; ta.Print(); mock.Verify(m => m.Print()); } 信息: Method is not public 我在这做错了什么? 我的目标是使用Moq框架测试抽象类中的方法。

如何为测试目的模拟网络故障(在C#中)?

我正在构建一个可以称为DAL的新应用程序。 不幸的是,与数据库的网络连接是一个真正的问题。 我希望能够在我的测试范围内暂时阻止网络访问,以便我可以确保我的DAL在这些情况下按预期运行。 更新:有许多手动方式来禁用网络,但如果我可以在测试本身内启用/禁用它肯定会很好。

unit testing数据访问层的方法

我一直试图寻找一种有效的方法来在C#中对我的数据访问层进行unit testing。 我是主要的Java开发人员,并且只使用了C#大约6个月,过去我使用了一个名为DBUnit的库来测试已知的状态数据库。 我无法找到一个可以使用的类似活动库,最近似乎是nDBUnit但它现在已经有一段时间没有活动了。 关于C#中的方式和原因似乎存在很多相互矛盾的方法。 理想情况下,我想使用模拟测试数据访问层,而无需连接到数据库,然后在一组单独的测试中对存储过程进行unit testing。 在我正在研究的系统中,数据访问层是使用ADO.net(不使用entity framework)在SQL Server上调用存储过程。 以下是我必须使用的示例代码; 沿着模拟路径,我必须能够模拟SqlCommand(使用IDbCommand)和/或模拟SqlConnection。 所以我的问题是什么似乎是最好的方式(如果有这样的事情)这样做? 到目前为止,唯一的方法是使代理对象传递给构造函数,以便它可以返回模拟的Sql *对象进行测试。 我还没有机会查看所有可用的C#模拟库。 public class CustomerRepository : ICustomerRepository { private string connectionString; public CustomerRepository (string connectionString) { this.connectionString = connectionString; } public int Create(Customer customer) { SqlParameter paramOutId = new SqlParameter(“@out_id”, SqlDbType.Int); paramOutId.Direction = ParameterDirection.Output; List sqlParams = new List() { paramOutId, […]

测试数据库调用C#

首先,让我们在这里解决术语。 我搜索的所有内容都说:“unit testing不会触及数据库!” 我不想进行unit testing。 我想要一个测试,当我将数据发送到数据库时,我知道它正确地保存了它(以及测试其他crud操作)。 我有一个基本上接受DTO的存储库层,然后将该DTO映射到entity framework模型,然后将该模型保存到数据库。 我需要能够确保将DTO发送到这些方法实际上是保存到数据库中。 存储库上的示例方法签名是: public bool Save(SomeObjectDTO someObject) 我只需要测试此方法调用是否返回true。 设置测试的最佳方法是将调用的方法保存到数据库中? 此外,是否有标准的方法来设置空白测试数据库? 如果我点击“运行测试”它会构造一个空数据库,用必要的初始数据填充它,然后执行所有CRUD操作(我的所有存储库调用)以查看它们都像它们一样保存,那将是很棒的应该。 如果这已经得到了回答,我表示歉意,但是我搜索到的所有内容都有人说你不应该测试数据库调用,或者人们在谈论嘲笑这些在这里真的没用。 我只想要一个关于如何设置这些类型的测试的示例和/或标准实践。