我真的在撞墙。在Visual Studio(Express 2013)中获取程序输出是否如此困难?在编写代码时,我发现在工作和进行故障排除时能够打印出变量,操作等的值绝对至关重要。
在Java和Eclipse中,System.out.println()始终有效,并打印到IDE控制台。在编写C程序时,我总是使用控制台,因此回显任何内容都没有问题。但是,在VS Express 2013中,我似乎无法获得任何输出。
问题可能与我编写单元测试而不是“正常”可执行程序有关吗?如果是这样,是否有某种方法可以使VS在单元测试类中显示程序输出?我试过使用调试,但也没有显示任何内容。考虑到配置问题,我一直在寻找解决方案,以调试未显示的消息,但我发现的任何选项(在此或其他地方)似乎都无济于事。
或者,当然-如果还有另一种在VS / C#中编写代码时检查程序值,输出等的常用方法,我想听听:-)
任何人有任何想法吗?而且,如果问题不清楚或有其他问题,请告诉我,我会解决。
注意:我正在使用单元测试类进行功能测试,以防有人想指出我应该和不应该做的单元测试。
编辑1:我忘了提到我不能使用“开始:调试”运行代码。如果我尝试尝试,则会收到以下错误消息:“无法直接启动具有类库输出类型的项目。” (单元测试项目在另一个项目中使用类,例如类库项目。)当然,这是因为我在解决方案中没有可执行项目。我运行它的方法是从“测试资源管理器”中运行选定的测试。
编辑2:代码:
using System;
using System.Diagnostics;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WordpressAutomation;
namespace WordpressTests
{
[TestClass]
public class LoginTests : WordpressTest {
[TestMethod]
public void AdminUserCanLogIn() {
System.Diagnostics.Debug.WriteLine("Something...");
System.Diagnostics.Trace.WriteLine("Something...");
}
}
}
我真的不喜欢回答我自己的问题,因为这似乎是“不诚实的”。但是,它已经安静了一段时间,而且我认为没有其他答案。
最实用的解决方案是创建另一个项目,例如控制台项目,在其中创建所有输出。它可能不会直接与单元测试通信,但是由于我在此特定示例中开发的测试框架由与类库相关的功能测试组成,因此可以在解决方案中使用单独的项目。
因此,总而言之,该解决方案包括:-具有实际测试的单元测试项目-具有框架逻辑的类库项目-用于测试类库中的类或单元中非单元测试类的控制台项目测试项目。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句