2

我正在为 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(取决于我如何安排文件,消息如“无法为该文件显示设计器,因为没有任何类在其中可以设计”如图所示)。有没有办法抑制这种行为,或者我总是必须右键单击这个文件并“查看代码”?

4

3 回答 3

7

右键单击,选择“打开方式...”,选择所需的编辑器,然后单击“设置为默认值”。

真的需要你的测试课来假装它们不是它们吗?这对我来说听起来不是一个非常好的主意。

于 2010-01-08T20:00:07.210 回答
3

[System.ComponentModel.DesignerCategory("")]当您在解决方案资源管理器中双击文件以将其打开时,向该类添加一个属性以防止 Visual Studio 打开设计器。

于 2011-12-27T00:27:36.340 回答
0

另一种解决方案:

右键单击文件,然后单击打开方式...菜单。将打开一个对话框,选择Microsoft Visual Basic Editor并单击Set as Default。单击“确定”就可以了,该文件将来将始终使用代码编辑器而不是其设计器打开。

于 2015-01-23T03:12:24.133 回答