【问题标题】:Looking for an easy way to write and test some code, in visual c#寻找一种简单的方法来编写和测试一些代码,在 Visual c#
【发布时间】:2012-07-31 08:07:43
【问题描述】:

这些天我从 Java 转向 C#,并使用 Visual C# 2010 express。

有时我想编写和测试一些简单的代码,但我发现它不像在 Eclipse 中那么容易:在任何 java 文件中编写一个main 方法,然后运行它。

在 VC# 中,当我在 .cs 文件中添加 Main 方法时,它会注意到我在这个项目中有两个 Main 条目。我必须在运行之前重命名另一个,并且稍后必须将其重命名。

有没有简单的方法可以做到这一点?

【问题讨论】:

  • 这完全取决于您所从事的项目类型。您的解决方案中始终可以有一个console application 项目,因此您可以将其用作代码的“调试器”。

标签: c# testing visual-c#-express-2010


【解决方案1】:

Visual Studio 更适合大型项目。如果您只是想测试一些代码,那么我要么将其粘贴在您应用程序的 main 方法中,要么忘记 VS 并通过代码暂存器运行它。

最好的 C# 代码暂存器是 LINQPad

当然,如果您要进行大量测试,您可能需要删除代码所具有的所有依赖项。不知道代码的范围或项目的类型很难说。

【讨论】:

    【解决方案2】:

    正如@Alexander R 所说,LINQPad 是一个很棒的工具。我将它广泛用于小型 sn-ps,例如测试我发布到 Stack Overflow 的答案。

    如果我必须能够在我当前的项目中调用其他代码,我会在我的解决方案中添加一个单元测试项目。当我想测试一些东西时,我在一个新的测试方法中编写代码,然后使用 Ctrl+R、Ctrl+T 快捷键运行当前选择的测试方法。

    【讨论】:

      【解决方案3】:

      单声道编译器包含一个 REPL 实用程序 (http://www.mono-project.com/CsharpRepl)。未来版本的 C#/Visual Studio 中应该包含类似的东西(请参阅Roslyn project 的最新 CTP)。

      另一种可能性是'test driven .Net' 实用程序,但它不适用于 Visual Studio express。它(a.o.)允许您直接从 Visual Studio 中运行任何方法。

      LINQPad 和 Snippet Compiler 也是可行的选择。

      您也可以简单地创建一个 .cs 文件并在命令行上编译它。例如,将此代码放在名为 hello.cs 的文件中

      using System;
      
      public class Program {
          public static void Main() {
              Console.WriteLine("Hello World");
          }
      }
      

      然后在命令行,用csc hello.cs编译

      => 这会创建你可以运行的 hello.exe。

      【讨论】:

        【解决方案4】:

        在 VC# 中,当我在 .cs 文件中添加 Main 方法时,它会注意到我在这个项目中有两个 Main 条目。

        然后不要添加另一个main 方法。当您创建控制台或 WinForms 应用程序时,文件 Program.cs 将包含一个 main 方法。如果您想测试某些东西,例如您编写的类,只需在现有的 main 方法中实例化该类即可。

        【讨论】:

          【解决方案5】:

          作为解决方案为什么不添加 public testXXXX() 方法到您要测试的每个类,然后有 1 个 main 方法,您可以在其中调用这些 testXXXX() 方法。

          【讨论】:

            猜你喜欢
            • 2023-04-07
            • 1970-01-01
            • 2016-10-05
            • 2021-12-21
            • 1970-01-01
            • 2019-06-11
            • 1970-01-01
            • 1970-01-01
            • 2016-07-24
            相关资源
            最近更新 更多