【发布时间】:2015-06-17 19:36:11
【问题描述】:
我正在尝试学习 C# 中的单元测试。但我不明白如何将测试方法与实际方法联系起来。在一个指南中,它告诉我右键单击方法名称并单击创建单元测试。我不这么认为。另一个告诉我在解决方案中创建一个单元测试项目并将我的其他项目添加到引用中。我仍然没有看到如何在测试项目中引用特定的方法或类进行测试。
我看到了它是如何工作的,而不是如何“定位”我想要测试的方法和类。由于我无法实例化它们,我不知道还能做什么。由于保护级别,我尝试实例化,但该类是公共的。我知道我不应该更改单元测试项目的测试类的命名空间,但我不知道还能做什么。
我一直在阅读教程,但似乎没有他们所说的那样有效。
请给我一个简单的解释和 C# 单元测试的简短示例。
例如 2 个项目,一个具有命名空间 BankCS 和类 BankAccount,另一个是 UnitTest1 命名空间和类 BankAccountTest。在 BankAccountTest 中,当我尝试在 BankAccountTest 中建立银行账户时,我得到 BankCS.BankAccount.BankAccount() is inaccessible due to its protection level
从这行代码:var ba = new BankCS.BankACcount()
尝试将命名空间更改为与我正在测试的项目相同,但没有任何区别。
编辑:
我修复了错误,但仍然得到 System.Object 是在未引用的组件中定义的。您必须添加对程序集 System.Runtime.... 的引用。
不知道怎么做,在任何地方都看不到。
我也了解单元测试,我在 Python 中经常使用它们。但是在 Visual Studio 和 C# 中使用它们有很大不同。这就是为什么我会欣赏一个简短的例子。另外,为什么一个教程说右键单击该方法并单击创建单元测试,我从未见过该选项只是运行测试和调试测试。
似乎我的问题是,能够在我的单元测试项目中实例化我想要测试的内容,有什么建议吗?有什么陷阱吗?
【问题讨论】:
-
在您的测试项目中,添加对“真实”项目的引用。右键单击引用 -> 添加引用 -> 项目 -> 解决方案 -> 检查您的“真实”项目。
-
您使用的是哪个版本的 Visual Studio?
-
从单元测试项目中引用项目并没有什么特别之处。你知道如何在 Visual Studio 中添加项目引用吗?你正在做的确切的事情是什么,它到底是如何失败的?如果将项目引用添加到要测试的代码,则可以执行该代码。 .NET 中的任何引用都是如此。
-
使用 Visual Studio 2013
-
@David 我将项目引用添加到单元测试项目中。这就是为什么我想要一个简短的例子
标签: c# unit-testing visual-studio-2013