C# Microsoft.Silverlight.Testing是否有执行顺序?

C# Microsoft.Silverlight.Testing是否有执行顺序?,c#,silverlight,unit-testing,C#,Silverlight,Unit Testing,我试图按顺序执行两个标记为[TestMethod]的方法 第一:登录 第二:GetUser 但是MsTest选择第二个作为第一个 有没有一种方法可以设置标记为[TestMethod]的方法的执行顺序?这样对测试进行排序是一种糟糕的设计。由于这个原因,大多数单元测试框架都不允许您对测试进行排序。听起来你应该这样组织你的测试: 测试1:测试用户是否可以登录 测试2:伪造一个登录的用户,确保GetUser返回那个伪造的用户 您应该确保您的系统设计为允许此类测试(为测试而伪造/模拟零件)。否则,您将以无

我试图按顺序执行两个标记为
[TestMethod]
的方法

第一:登录
第二:GetUser

但是MsTest选择第二个
作为第一个


有没有一种方法可以设置标记为
[TestMethod]
的方法的执行顺序?

这样对测试进行排序是一种糟糕的设计。由于这个原因,大多数单元测试框架都不允许您对测试进行排序。听起来你应该这样组织你的测试:

测试1:测试用户是否可以登录

测试2:伪造一个登录的用户,确保GetUser返回那个伪造的用户

您应该确保您的系统设计为允许此类测试(为测试而伪造/模拟零件)。否则,您将以无法维护的测试结束,这些测试将在核心出现问题时全部中断


可以这样想:在第二个测试中,您没有测试登录过程,那么如果登录被破坏,为什么测试会中断呢?不应该这样,因此您需要确保可以删除对真实登录过程的依赖,而是使用某种方法将用户设置为不会失败的登录状态。

这是非常正确的。然而,为了回答用户提出的问题(而不是他应该问的问题:-),Silverlight单元测试框架按字母顺序运行测试。例如,当我调试一个特定的测试,并希望它首先执行,这样我就不必等待所有其他测试完成时,我将其名称更改为“aaMyTestName”。(可能有更好的方法,但我还没有找到。)@Ken:请将答案作为答案而不是评论添加。@Anthony&@Ken:我很想说“不要告诉他那个”。这些是实现细节,我已经看到NUnit版本之间测试顺序的变化,所以这不仅仅是一个理论问题。我的回答是基于他隐含的问题:“我怎样才能编写一套测试这些东西的测试套件?”这可能会帮助他重新思考他面临的问题。我非常同意。你的答案比我的好,这就是为什么我没有把它作为一个单独的答案,只是对你的解释性评论。知道测试是按字母顺序执行的是值得的,但是在编写测试时依赖它是一个非常非常糟糕的主意。