问题列表 - 第2032页

88
推荐指数
6
解决办法
4万
查看次数

为什么单元测试只测试一件事?

什么是良好的单元测试?说测试应该测试一件事.这有什么好处?

写一些更大的测试来测试更大的代码块会不会更好?无论如何,调查测试失败很困难,我从小测试中看不到它的帮助.

编辑:单词单位并不重要.让我们说我认为单位更大一些.这不是问题所在.真正的问题是为什么对所有方法进行测试或更多测试,因为很少有涵盖许多方法的测试更简单.

一个例子:列表类.我为什么要单独进行添加和删除测试?首先添加的一个测试然后删除声音更简单.

unit-testing

58
推荐指数
6
解决办法
9328
查看次数

为什么即使在调用后也分配了Delphi对象.Free?

在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)

delphi

24
推荐指数
2
解决办法
1万
查看次数

为什么在将50,000个对象插入HashMap时会出现OutOfMemoryError?

我试图插入约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.)

java hashmap out-of-memory

13
推荐指数
2
解决办法
2万
查看次数

现代编译器是否将x*2操作优化为x << 1?

C++编译器是否通过两次操作优化乘以x*2比特移位操作x<<1

我很乐意相信是的.

c++ compiler-construction optimization

32
推荐指数
6
解决办法
4194
查看次数

通过CruiseControl发送带有错误日志的电子邮件

当构建失败时,如何配置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>

cruisecontrol.net

5
推荐指数
1
解决办法
2972
查看次数

ASP.Net MVC路由到用户名

我正在尝试创建一个带有用户名的路线...

所以URL将是mydomain.com/abrudtkhul(abrudtkhul是用户名)

我的应用程序将具有基于用户名的公共配置文件(例如:http://delicious.com/abrudtkuhl).我想复制这个URL方案.

我怎样才能在ASP.Net MVC中构建它?我也在使用会员/角色提供商.

asp.net-mvc

23
推荐指数
2
解决办法
8166
查看次数

7
推荐指数
2
解决办法
1万
查看次数

什么是UITableView索引放大镜角色?

在Apple的iPhone应用程序(如Contacts)中,它们在表视图索引的顶部有一个很好的放大镜图标.由于表视图索引API是基于字符的,我假设此放大镜是Unicode字符.到目前为止,我已经在那里放置了一个问号角色,但这看起来很蹩脚.

谁能告诉我放大镜的特点是什么?

iphone icons cocoa-touch uitableview

57
推荐指数
4
解决办法
2万
查看次数

ASP.NET MVC应用程序中应该在哪里进行缓存?

我需要使用System.Web.Caching.Cache缓存一些数据.不确定它是否重要,但数据不是来自数据库,而是来自过多的自定义对象.

ASP.NET MVC对我来说相当新,我想知道这个缓存发生在哪里有意义?

型号或控制器?

在某种程度上,这在模型级别缓存是有意义的,但我不一定知道这样做的含义(如果有的话).如果要在Controller级别完成缓存,那会影响所有请求,还是只影响当前的HttpContext

那么......应该在哪里完成应用程序数据缓存,以及实际执行它的好方法是什么?

更新

谢谢你的答案!我仍然试图收集在给定不同场景的情况下缓存最有意义的地方.如果一个人正在缓存整个页面,那么将它保留在视图中是有道理的,但是当它不是整个页面时在哪里画线?

asp.net-mvc caching

13
推荐指数
1
解决办法
4102
查看次数