我正在尝试测试一组属性,但我不知道在这种特殊情况下我该怎么做.我正在使用.NET 4.5和Moq框架. 我有这个方法:public Invoice Approve(Invoice invoiceToBeApproved) {var approvedInvoiceStatus = InvoiceStatusRepository.First<ApprovedStatus>();invoiceToBeApproved.Car.RemainingSeats -= 1;if (invoiceToBeApproved.Car.RemainingSeats < 0){throw new BusinessException("There are no remaining seats");}invoiceToBeAppr...
我们有一个共享的基本接口公共接口IOperation {…}和很多(几十个,很快就有100个)实现IOperation的不同对象. 我们还对所有这些实现进行了测试,所有这些实现都继承自名为TestOperationCommon的基类,这些基类使用实际操作类进行模板化,并将Create方法的类型模板化为新的此类操作.我们为TestOperationCommon实现了一个最多五个模板参数(这对所有操作都足够了). 现在,最近决定将所有操作实现内部并且只公开IOperation,这似乎是一个好主意...
我有一个方法,它使用任务和async / await重复工作.public static Task ToRepeatingWork(this Action work, int delayInMilliseconds){Action action = async () =>{ while (true){try{work();}catch (MyException ex){// Do Nothing}await TaskEx.Delay(new TimeSpan(0, 0, 0, 0, delayInMilliseconds));}};return new Task(action, SomeCt, TaskCreationOptions.LongRunning);}我写过相应的测试:[TestMethod, Tes...
我正在尝试以编程方式创建测试计划,包括测试套件和测试用例.问题是在我的测试用例中添加测试步骤.此代码使用测试套件和测试用例正确创建了测试计划,但未在我的测试用例中创建测试步骤.我哪里错了?static void Main(string[] args){try{var tfs = TfsHelper.TryToAutenticated();var wis = tfs.GetService<WorkItemStore>();//TEST PLAN// Let's create a new Test Plan from scratch// Only the Name property is required to be ...
在VS2017中,所有属性似乎都出现在Test Explorer的“Traits”视图中.请参阅下面的代码和测试资源管理器窗口.过去只有很多属性会出现在首位.有没有人知道是否有办法阻止VS发现不应该存在的属性?在测试窗口中显示的Description()和WorkItem()无法提供帮助.每个测试都会有不同的描述,然后您的测试资源管理器会变得臃肿.也许这是一个bug ……. 码:[TestCategory("Design - Login - Negative")][TestCategory("Design")][TestCategory(...
我正在寻找一种方法来将我自己的附件添加到测试结果中,以便在构建完成后我可以看到它们….我想在编译期间以及测试失败后以编程方式添加这些内容.附件将是截图. 这可能吗? 我快速浏览了一下API参考,但这看起来与关注添加现有测试’运行’的附件,或者在构建方面是创建构建定义并触发它们.我可能错过了它,但我无法找到如何在测试任务完成期间或之后立即添加代码中的附件. 谢谢,解决方法:You could get test run of the build first a...
我正在使用异步xUnit测试,我注意到不一致的传递行为:public async Task FetchData() {//Arrangevar result = await arrangedService.FetchDataAsync().ConfigureAwait(false);//Assert }我已经完成了此测试执行的调用堆栈,并验证了我的所有库代码都在每个任务之后调用.ConfigureAwait(false).但是,尽管如此,在执行全部运行时,此测试和其他测试将间歇性地失败,但是当我在调试器上完成时,会通过断言和手动检查.很明显,我没有正确地做...
我有一个带有以下签名的控制器:[Route("api/[controller]")] [ApiController] public class UsersController : ControllerBase {private ILogger<UsersController> _logger;private readonly UserManager<IdentityUser> _usermanager;public UsersController(ILogger<UsersController> logger, UserManager<IdentityUser> usermanager){_usermanager = usermanager;_logger = logger;}[HttpGet("{_uniqueid}")]public async Task<...
我正在构建一个基于.Net Core的selenium测试框架,团队决定使用xUnit.一切都很好,一切都很顺利,但有一段时间了,我们一直试图复制Java TestNG听众的功能而没有太多运气. 我一直在挖掘xunit git repo,发现了一些使用ITestListener等接口的实例.在深入挖掘之后,我发现这些监听器来自一个名为TestDriven.Framework的包,我想知道我将如何使用这些接口创建的测试监听器? 到目前为止,这是我的简单测试监听器,在测试失败时应该写一些东西:...
考虑以下测试类:[TestClass] public class ExampleTests {[TestMethod]public void FileDoesNotExists(){Assert.IsFalse(System.IO.File.Exists("testfile.txt"));}[TestMethod][DeploymentItem("testfile.txt")]public void FileExists(){Assert.IsTrue(System.IO.File.Exists("testfile.txt"));}}根据这些测试运行的顺序,它们可能会通过,但由于无法保证它们按照定义的顺序运行,因此现实世界的行为是不确定的……显然这很糟糕. 我...
考虑存储库模式(或类似)的实现.我会尽量保持示例/插图的简洁:interface IRepository<T> {void Add(T entity); }public class Repository<T> : IRepository<T> {public void Add(T entity){// Some logic to add the entity to the repository here.} }在这个特定的实现中,Repository由一个接口IRepository定义,有一个方法将一个实体添加到存储库,从而使Repository依赖于泛型类型T(同样,Repository必须隐式依赖于另一个类型TDataAc...
如何以编程方式测试以查看特定的网络管道服务是否正在运行和监听,因此我没有得到“没有端点监听……”异常? 所以,例如,如果我有这个代码:Uri baseAddress = new Uri("http://localhost/something"); var _ServiceHost = new ServiceHost(typeof(Automation), new Uri[] { baseAddress }); NetNamedPipeBinding nnpb = new NetNamedPipeBinding(); _ServiceHost.AddServiceEndpoint(typeof(IAutomation), nnpb, "ImListening"); _...
我有Teamcity的配置,我希望在所有测试运行后使用powershell获取测试结果报告.某种出口.从Teamcity界面,我可以转到测试并单击将所有测试下载为CSV,但我想通过powershell获取此信息,以便将此报告包含在工件中. 该测试结果报告在磁盘上(我不知道它存在于何处或以何种形式存在),我只是想以某种方式得到它.我的问题是没有解析数据,我的问题是得到“数据”.解决方法:使用常规设置中的“工件”.只需给出路径,TC会在每次构建后将这些文件复...
我在测试我的Nhibernate存储库时遇到了一个奇怪的问题. 我有10个单元测试,如下所示.每次在批处理中运行它们时,第一次失败,其余成功.如果一个接一个地运行它们都会失败.如果在我的testrun之前重新启动MSDTC,它有时会像以前一样运行,有时候所有测试都会成功.我找不到一个模式,为什么它表现得那样. 我希望事务回滚,以便为每个测试启动一个干净的DB,从而处理事务. 由于此错误,测试/测试失败:System.Data.SqlClient.SqlException: MSDT...
我想检测我的代码是否生成垃圾.所以我创建了以下单元测试.[TestClass] public class AllocationTest {int[] generationCollections = new int[3];[TestMethod]public void TestGarbageGeneration(){generationCollections[0] = GC.CollectionCount(0);generationCollections[1] = GC.CollectionCount(1);generationCollections[2] = GC.CollectionCount(2);// Test for garbage herefor (int generation = 0; generation < generat...