什么是良好的单元测试?说测试应该测试一件事.这有什么好处?
写一些更大的测试来测试更大的代码块会不会更好?无论如何,调查测试失败很困难,我从小测试中看不到它的帮助.
编辑:单词单位并不重要.让我们说我认为单位更大一些.这不是问题所在.真正的问题是为什么对所有方法进行测试或更多测试,因为很少有涵盖许多方法的测试更简单.
一个例子:列表类.我为什么要单独进行添加和删除测试?首先添加的一个测试然后删除声音更简单.
在Delphi中,为什么在调用析构函数后Assigned()函数仍然返回True?
下面的示例代码将向控制台写入"sl仍然已分配".
但是,我可以打电话给FreeAndNil(sl); 它不会被分配.
我已经在Delphi中编程了一段时间,但这对我来说没有意义.
谁能解释一下?
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils, Classes;
var
sl : TStringList;
begin
sl := TStringList.Create;
sl.Free;
if Assigned(sl) then
WriteLn('sl is still assigned')
else
WriteLn('sl is not assigned');
end.
Run Code Online (Sandbox Code Playgroud)
我尝试比较VCL操作... FreeAndNil简短而且很有意义:
procedure FreeAndNil(var Obj);
var
P: TObject;
begin
P := TObject(Obj);
TObject(Obj) := nil; // clear the reference before destroying the object
P.Free;
end;
Run Code Online (Sandbox Code Playgroud)
但TObject.Free是神秘的汇编程序,我不明白:
procedure TObject.Free;
asm
TEST EAX,EAX
JE @@exit
MOV ECX,[EAX]
MOV DL,1
CALL dword ptr [ECX].vmtDestroy
@@exit:
end;
Run Code Online (Sandbox Code Playgroud) 我试图插入约50,000个对象(因此50,000个键)java.util.HashMap<java.awt.Point, Segment>.但是,我一直得到一个OutOfMemory异常.(Segment是我自己的课 - 非常轻的重量 - 一个String领域,三个int领域).
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.resize(HashMap.java:508)
at java.util.HashMap.addEntry(HashMap.java:799)
at java.util.HashMap.put(HashMap.java:431)
at bus.tools.UpdateMap.putSegment(UpdateMap.java:168)
这看起来非常荒谬,因为我发现机器上有足够的内存 - 无论是在自由RAM还是用于虚拟内存的高清空间.
是否有可能Java运行时有一些严格的内存要求?我可以增加这些吗?
是否有一些奇怪的限制HashMap?我是否必须实施自己的?还有其他值得关注的课程吗?
(我在具有2GB RAM的Intel机器上运行OS X 10.5下的Java 5.)
C++编译器是否通过两次操作优化乘以x*2比特移位操作x<<1?
我很乐意相信是的.
当构建失败时,如何配置cruiseControl发送包含错误日志的电子邮件?我已经得到它在构建失败时向用户发送电子邮件,但它不包括导致构建失败的实际错误.我知道如果我只将其配置为向已经修改的用户发送电子邮件,则错误日志将包含在这些电子邮件中.这是我的样本:
<publishers>
<rss />
<xmllogger />
<email from ="abc@abc.com"mailhost ="abc.abc.com"includeDetails ="TRUE">
<users>
<user name ="Joe"group =" devs"address ="joe@abc.com"/>
<user name ="Jim"group ="devs"address ="jim@abc.com"/>
</ users>
<groups>
<group name ="devs" notification ="失败"/>
</ groups>
</ email>
</ publishers>
我正在尝试创建一个带有用户名的路线...
所以URL将是mydomain.com/abrudtkhul(abrudtkhul是用户名)
我的应用程序将具有基于用户名的公共配置文件(例如:http://delicious.com/abrudtkuhl).我想复制这个URL方案.
我怎样才能在ASP.Net MVC中构建它?我也在使用会员/角色提供商.
在Apple的iPhone应用程序(如Contacts)中,它们在表视图索引的顶部有一个很好的放大镜图标.由于表视图索引API是基于字符的,我假设此放大镜是Unicode字符.到目前为止,我已经在那里放置了一个问号角色,但这看起来很蹩脚.
谁能告诉我放大镜的特点是什么?
我需要使用System.Web.Caching.Cache缓存一些数据.不确定它是否重要,但数据不是来自数据库,而是来自过多的自定义对象.
ASP.NET MVC对我来说相当新,我想知道这个缓存发生在哪里有意义?
在某种程度上,这在模型级别缓存是有意义的,但我不一定知道这样做的含义(如果有的话).如果要在Controller级别完成缓存,那会影响所有请求,还是只影响当前的HttpContext?
那么......应该在哪里完成应用程序数据缓存,以及实际执行它的好方法是什么?
谢谢你的答案!我仍然试图收集在给定不同场景的情况下缓存最有意义的地方.如果一个人正在缓存整个页面,那么将它保留在视图中是有道理的,但是当它不是整个页面时在哪里画线?
asp.net-mvc ×2
asp.net ×1
c++ ×1
caching ×1
cocoa-touch ×1
crud ×1
delphi ×1
frameworks ×1
hashmap ×1
icons ×1
iis ×1
iphone ×1
java ×1
optimization ×1
scaffolding ×1
session ×1
timeout ×1
uitableview ×1
unit-testing ×1