【发布时间】:2021-12-15 23:00:54
【问题描述】:
我的问题是我的单元测试总是失败,但根本没有意义。我将 label.visible 值设置为 true 并查询它们是否为 true。这个怎么可能?我在控制台中写入值,它们返回false。但该方法在程序本身中有效。
// GETTER/SETTER
internal void setlabeltest1Visible(bool xBool) { test1.Visible = xBool; }
internal bool getlabelTest1Visible { get { return test1.Visible; } }
internal void setlabeltest2Visible(bool xBool) { test2.Visible = xBool; }
internal bool getlabelTest2Visible { get { return test2.Visible; } }
// METHOD TO TEST
internal void switchLabelVisibility(bool xFlag)
{
test1.Visible = xFlag;
test2.Visible = xFlag;
}
// UNIT TEST
[TestMethod]
public void switchLabelVisibility_Test()
{
//Arrange
var ExportTests = new Export();
//Act //1. Fall - set visible values true
ExportTests.switchLabelVisibility(true);
//Assert
Assert.IsTrue(
ExportTests.getlabelTest1Visible &&
ExportTests.getlabelTest2Visible
); // FAILS (values false)
【问题讨论】:
-
这些标签在哪里?一个winforms表格?表格是否可见?如果没有,无论
Visible = true如何,标签也将不可见。 -
我不确定,它只是一个用于测试的虚拟对象。我会试试这个,谢谢。
-
是的,这就是问题所在。现在它可以正常工作了!非常感谢:)
标签: c# unit-testing methods label assert