代码之家  ›  专栏  ›  技术社区  ›  Pete Alvin

ASP.NET/C:如何在应用程序代码中编译类,以便可以从用于单元测试的命令行运行这些类?

  •  1
  • Pete Alvin  · 技术社区  · 14 年前

    我在一个ASP.NET网站上的应用程序代码中有几个类文件在Microsoft Visual Studio 2005专业版中运行。

    在使用完整单元测试套件的Liu中,我只想以某种方式将这些项目范围的类编译成.exe,以便我可以每晚对它们运行单元测试。

    知道如何创建一个由这些文件组成的单独的C库项目,以及如何将它们包含到我的网站中——但这是不可取的——我不想放弃在调试器中运行网站时对这些库类进行即时代码更改的能力。据我所知,NET调试器的功能还不足以通过页面重新加载时的即时自动重新编译来修改所包含库中的代码。

    所以,我想要我的蛋糕,也吃它:

    1. 应用程序代码目录中网站类文件的命令行单元测试
    2. 能够在不停止/重新启动Web调试器的情况下修改这些类文件。

    两者都可以吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Kieren Johnstone    14 年前

    您应该将代码放在一个完全独立的类库/程序集中,然后从Web项目和命令行实用程序引用它。据我所知,当您在调试器中停止时,在哪里修改代码没有区别。我自己从来没有遇到过问题。

    希望有帮助。

        2
  •  1
  •   Joel Coehoorn    14 年前

    您的项目受源代码管理,对吗? 对吗? 在这种情况下,可以使用源代码管理系统将指向ASP.NET项目的app_code文件夹的链接作为单独单元测试项目的一部分。确切的链接机制因源代码管理平台而异,但正确执行意味着源代码管理中只有一个应用程序代码文件夹的实例,可以从两个不同的项目中看到。这样,一切都会保持最新。

    这样做的好处是,您可以像往常一样保持简单、未编译的代码,但仍然可以让代码用于测试。