我正在为Windows窗体应用程序的某些部分编写NUnit TextFixture。文件中的一些类派生自UI组件类,如下所示:
[TestFixture]
public class MainFormTest : PersistenceTestBase // Base class here is not a form
{
class TestMainForm : MainForm // MainForm inherits from Form
{
public new String SomeMethod()
{
// Some MainForm private method overridden to expose it to my test fixture
}
}
private TestMainForm mainForm;
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
mainForm = new TestMainForm();
}
[Test]
public void TestMainFormDoesXYZ()
{
// Perform unit testing...
}
}
然而,我遇到的烦恼是,由于类继承自UI组件类,因此当我在解决方案资源管理器中双击我的单元测试文件时,Windows会打开设计器窗口。其中,因为它不是一个“真正的”UI元素(而是一个测试类),它显示为一个破碎的UI(取决于我如何安排文件,消息,如“设计器无法显示此文件,因为没有类在其中可以设计“显示”。有没有办法来抑制这种行为,或者我是否总是必须右键单击此文件并“查看代码”?
答案 0 :(得分:7)
右键单击,选择“打开方式...”,选择所需的编辑器,然后单击“设为默认值”。
你真的需要你的测试课来假装他们不是他们不是的东西吗?这对我来说听起来不是一个好主意。
答案 1 :(得分:3)
在类中添加[System.ComponentModel.DesignerCategory("")]
属性,以防止Visual Studio在解决方案资源管理器中双击该文件以打开设计器时打开设计器。
答案 2 :(得分:0)
另一种解决方案:
右键单击文件,然后单击打开方式... 菜单。将打开一个对话框,选择 Microsoft Visual Basic编辑器,然后单击设置为默认。点击确定即可,以后使用代码编辑器而不是设计器将始终打开该文件。