我正在通过阅读"Head First Java"并完成所有的谜题和例证来学习Java.在书中他们建议编写TestDrive类来测试我编写的代码和clases,这是一个非常简单的事情,但是通过这样做我认为我无法完全测试我的代码,因为我正在编写测试代码知道我想得到什么,我不知道它是否有任何意义,但我想知道是否有任何方式以一种简单的方式测试我的代码,它告诉我什么是不正常的.谢谢.
使用Python我可以通过键入来测试终端/命令行中的代码
python
python> print "hello world"
Run Code Online (Sandbox Code Playgroud)
我也想用PHP做这件事,但输入时:
php
echo "hello world";
Run Code Online (Sandbox Code Playgroud)
它不起作用..这可能吗?我该怎么办?在互联网上快速搜索会产生大量结果,这些结果可以调用实际的.php文件来运行.我只想在可能的情况下测试单个句子,而不创建文件和内容.
我想知道我应该如何测试简单的 C# 表达式
1) 在 Visual Studio 和
2) 不在调试,在设计模式
说,我想验证什么会返回这个代码
?DateTime.ParseExact("2016", "yyyy")
Run Code Online (Sandbox Code Playgroud)
或者
int i;
int.TryParse("x55", out i);
?i
Run Code Online (Sandbox Code Playgroud)
我在即时窗口中获得了以下消息:
Run Code Online (Sandbox Code Playgroud)?DateTime.ParseExact("2016", "yyyy") The expression cannot be evaluated while in design mode.
我们的代码库有很多COM对象,所以通常我们会有类似的东西:
//this is the IDL-generated IGetTime interface header
#include "gettime.h"
//our COM class implementation of IGetTime
class CGetTime : public IGetTime
{
public:
CGetTime(CGetTimeCF &factory,...); //COM-specific constructor params
/* IUnknown */
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
/* IGetTime */
STDMETHODIMP GetTheTime(); //
};
Run Code Online (Sandbox Code Playgroud)
构造函数和其他一些东西的设置方式,这个类只能通过COM轻松使用...你可以破解创建对象的方法,但它往往是片状的.但是我很多情况下,没有COM就可以使用类的实际功能...如果你能这样做,这也更容易测试new CGetTime();
我想知道这样的事情是一种模式:
class CGetTimeBase
{
public:
STDMETHODIMP GetTheTime();
};
class CGetTime : public IGetTime, public CGetTimeBase
{
...
};
Run Code Online (Sandbox Code Playgroud)
这是一个很好的方法,还是有更好的方法来提供一个提供核心功能的'普通C++'类,以及一个COM类做COM的东西?为了最大限度地减少要编写的代码量,我认为不是不介绍包装器方法,而是在非COM类中使用实际的实现方法,因此它会自动出现在COM类中.
思考?};
code-testing ×4
.net ×1
c# ×1
c++ ×1
com ×1
command-line ×1
java ×1
php ×1
python ×1
terminal ×1
testing ×1
unit-testing ×1