- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我将如何为这些 [TestMethod()] 编写 [TestCleanup()] 方法。
我有以下 11 个:
当单独运行时,它们通过,当不同时运行时,第一个通过
[TestMethod()]
public void SplitTdsNameTest_SimpleValidName2()
{
string tdsName = "Mr Daniel George Trunley";
MemberName expected = new MemberName("Mr", "Daniel George", "Trunley");
MemberName actual;
actual = TdsTransformer.SplitTdsName(tdsName);
Assert.AreEqual(expected, actual);
}
[TestMethod()]
public void SplitTdsNameTest_SimpleValidName3()
{
string tdsName = "Daniel George Trunley";
MemberName expected = new MemberName("", "", "Daniel George Trunley");
MemberName actual;
actual = TdsTransformer.SplitTdsName(tdsName);
Assert.AreEqual(expected, actual);
}
成员姓名:
public struct MemberName
{
public string Title;
public string FirstNames;
public string LastNames;
public MemberName(string title, string firstNames, string lastNames)
{
Title = title;
FirstNames = firstNames;
LastNames = lastNames;
}
}
split :
public MemberName SplitTdsName(string tdsName)
{
return NameSplitter.Splitter(tdsName);
}
分离器:
public static MemberName Splitter(string fullName)
{
nameInFull = fullName;
SetAllowedTitles();
SplitNamesAndRemovePeriods();
SetTitles();
MemberName splitName = new MemberName(titles, firstNames, lastNames);
return splitName;
}
最佳答案
根据提供的内容,看起来不需要任何清理。
如果有 TestInitialize
方法,只需撤消那里所做的事情。
如果 TdsTransformer.SplitTdsName
存储了任何内部状态,您也必须清除它。尽管如果它是,它可能不应该是静态方法。
根据编辑,这两种方法让我担心:
SetAllowedTitles();
SetTitles();
它们暗示存在内部状态,在我看来,这对于静态类来说非常糟糕。这可能是您看到的连续测试未通过的问题。
要更正这些并使其保持静态,让它们返回值而不是存储在静态成员中:
var allowedTitles = SetAllowedTitles(fullName);
var names = SplitNamesAndRemovePeriods(fullName); //likely a struct or class with first/last names
var titles = SetTitles(allowedTitles);
关于c# - TestCleanup() 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7982801/
我将如何为这些 [TestMethod()] 编写 [TestCleanup()] 方法。 我有以下 11 个: 当单独运行时,它们通过,当不同时运行时,第一个通过 [TestMethod()] pu
我想在我的单元测试中执行 TestCleanup,但我需要将参数传递给清理方法。但是由于默认的 TestCleanup 是自动调用的,所以我无法将任何参数传递给它。 有人可以建议一种方法吗? 最佳答案
如果我们的 CI 服务器上的负载过高或外部服务(GoogleDocs 等)API 调用超时,我们的工作中有很多测试偶尔会失败。有没有一种方法可以设置 TestCleanup 代码,以便可以重新运行测试
我注意到 [TestCleanup] 方法不能采用 TestContext 参数。那么我应该如何知道正在清理哪个测试? 最佳答案 你可以在你的类上有一个名为 TestContext 的公共(publi
我有一个测试使用外部程序集来访问我们正在测试的应用程序中的 UI 功能。如果 UI 未处于适当的状态,此程序集将引发其自定义类型的异常。 我已经设置了一个 TestCleanup 方法来终止应用程序的
我有一组 MSTest 测试用例,它们使用具有这些属性的方法从测试开始后创建的测试数据库中的表中删除所有行;每隔一段时间,我都会从数据库中的一个单元测试中得到一行。 由于我正在保存测试开始时间并删除所
我有一个应用程序,在许多类中有许多单元测试。许多测试都有 DeploymentItem 属性来提供所需的测试数据: [TestMethod] [DeploymentItem("UnitTesting\
我正在测试一个模块,其中每个测试类共享相同的行为: 开始交易 执行 SQL 查询 回滚事务 我决定分别使用TestInitialize和TestCleanup来执行事务的Begin和Rollback。
我一直在努力解决这个问题,希望它能帮助其他人。 在使用 MsTest 创建单元测试时,我发现我在每个测试中都重复了相同的代码,并发现了一些方便的属性(TestInitialize、TestCleanu
我有一个基类,其中有一个 TestInitialize 和一个 TestCleanup。然后我有其他继承自此类的测试类。 TestCleanup 应该在派生类的测试失败时执行某些操作。 TestCle
我正在做这样的测试: [DataTestMethod] [DataRow("example1")] [DataRow("example2")] public void Test_Example(str
下面您可以看到一些在 Window Phone 单元测试应用程序中使用 Mstest 编写的代码。 我有一个名为 TestMethod1 的普通 TestMethod 和一个名为 TestMethod
我是一名优秀的程序员,十分优秀!