问题列表 - 第21783页

使用IoC时,单元测试的策略应该是什么?

毕竟我读到的关于依赖注入和IoC的内容我决定尝试在我们的应用程序中使用Windsor Container(它是一个50K LOC多层Web应用程序,所以我希望它不是一个矫枉过正).我使用了一个简单的静态类来包装容器,并在启动应用程序时对其进行初始化,这对于现在来说非常好.

我的问题是关于单元测试.我知道通过让我可以将类协作者的存根/模拟实现注入到被测试的类中,DI将使我的生活变得更加轻松.我已经使用这种技术编写了几个测试,这似乎对我有意义.我不确定的是我是否应该在单元测试中使用IoC(在本例中为Windsor Castle)(可能以某种方式将其配置为针对我的特殊情况返回存根/模拟)或者是否更好地连接所有依赖项在测试中手动.你怎么想,什么做法对你有用?

c# unit-testing dependency-injection castle-windsor inversion-of-control

16
推荐指数
1
解决办法
8194
查看次数

free()没有正确释放内存?

我正在尝试释放我已分配的内存malloc,但free根据Eclipse的调试器,命令似乎没有正常工作.这怎么可能?

下面是我的调试器在它被释放之后的屏幕截图,seCurrent->student->year显然不是这种情况.year被分配使用malloc.

alt text http://img693.imageshack.us/img693/7840/codeo.png

c malloc free memory-leaks

4
推荐指数
3
解决办法
3944
查看次数

在PHP中,如何在从iPhone InApp收据中检索的购买日期中添加3个月?

在我从PHP服务器验证了App Store的收据后,App Store向我发送了一个JSON响应

"status" : 0 
"receipt" : ( .... )
Run Code Online (Sandbox Code Playgroud)

其中一个收据项是"purchase_date",其中包含以下字符串(示例)"2010-02-09 19:17:04 Etc/GMT"

我正在尝试建立订阅服务,并希望在此日期添加3个月,然后将该到期日期写入MySQL表.

PHP中是否有一个字符串到日期类型的函数,可以让我实现3个月的添加?

我找到了这个例子,看起来它增加了1个月的日期:

$date = date("Y-m-d");// current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将App Store传递的字符串转换为PHP识别日期.

php iphone date storekit in-app-purchase

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

NSarray发布

如果我声明一个NSArrayalloc&retain在单句然后我应该释放该NSArray对象两次(即[arrayObject release]2倍)?

cocoa memory-management nsarray

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

通过选择ntext作为所有文本列的数据类型是否存在缺点?

可能重复:
总是使用nvarchar(MAX)有什么缺点吗?

通过选择'ntext'作为列类型而不是包含字符但具有有限的最大大小(如'char'或'varchar')的类型,是否存在一般性缺点?

我不确定有限的列大小是否适用于我的所有列.因此,我会对包含文本的所有列使用'ntext'.这可能导致将来出现问题吗?

(我在ASP.net Webforms应用程序中使用Linq-To-SQL)

database asp.net sql-server-2008 linq-to-sql

3
推荐指数
1
解决办法
839
查看次数

PHP Left Shift在两台不同的机器上给出两个答案

我对PHP左移功能的行为非常困惑.我在两台不同的机器上使用它(开发和托管),他们给了我不同的答案.我已经跟踪到了这个计算:

(-3941404251) << 5;

在一台机器上我得到答案-1570884448; 另一方面,我得到0.在两个系统上,PHP_INT_MAX = 2147483647.后者是一个32位系统,第一个是64位,虽然php作为一个32位进程运行,仍然给出相同的答案.

我只能假设这是32位与64位的问题,但有任何简单的方法来获得所需的行为.如果有人能指出我的功能或其他什么,那就太好了.

谢谢!

php 64-bit 32-bit bit-manipulation bit-shift

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

Rails 3找不到sqlite3-ruby

我正在努力学习rails3.

我尝试了从guides.rails.info安装的安装指南

sudo gem install rake rack-test rack-mount erubis mail
sudo gem install tzinfo builder i18n memcache-client
sudo gem install text-format thor

和铁轨3通过

sudo gem install rails --pre

现在我创建一个新的应用程序

rails abc

并尝试

rake db:create

哪个失败了

Could not find gem 'sqlite3-ruby (>= 0, runtime)' in any of the sources.

所以我尝试安装 sqlite3-ruby

sudo gem install sqlite3-ruby

哪个失败了

Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need …

installation ruby-on-rails ruby-on-rails-3

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

如何在SELECT元素中双击多次识别

我有一个带有MULTIPLE属性的SELECT元素.双击列表中的选项时,我想根据单击的选项执行操作.

我知道OPTION元素不处理ondblclick事件.如果我处理SELECT元素的dblclick事件,是否有某种方法可以识别哪个选项被双击?

<select size="4" name="MySelect" multiple="multiple" ondblclick="myFunction();">
    <option ... />
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

最好是跨浏览器,但IE只会这样做.

编辑

我显然不够清楚.我需要做的是确定在事件处理程序中双击哪个选项(或者双击是在没有选项的SELECT元素的区域中).由于SELECT元素具有MULTIPLE属性,因此查找selectedIndex不会这样做:如果用户在双击时按住CTRL或SHIFT,则会选择多个项目:我只想要实际双击的选项.

html javascript javascript-events

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

如何启用HTTPS流包装器

我在我的Windows系统上安装了php5,并尝试使用命令行控制台执行以下脚本:

<?php
// load in credentials
$creds = parse_ini_file('/etc/aws.conf');

// Define query string keys/values
$params = array(
    'Action' => 'DescribeAvailabilityZones',
    'AWSAccessKeyId' => $creds['access_key'],
    'Timestamp' => gmdate('Y-m-d\TH:i:s\Z'),
    'Version' => '2008-05-05',
    'ZoneName.0' => 'us-east-1a',
    'ZoneName.1' => 'us-east-1b',
    'ZoneName.2' => 'us-east-1c',
    'SignatureVersion' => 2,
    'SignatureMethod' => 'HmacSHA256'
);

// See docs
// http://tr.im/jbjd
uksort($params, 'strnatcmp');
$qstr = '';
foreach ($params as $key => $val) {
    $qstr .= "&{$key}=".rawurlencode($val);
}
$qstr = substr($qstr, 1);

// Signature Version 2
$str = "GET\n"
     . "ec2.amazonaws.com\n"
     . …
Run Code Online (Sandbox Code Playgroud)

php amazon

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

Delphi"const of array"改为"varargs"

请帮忙!我需要这个转换来为Delphi编写一些C头的包装器.

举个例子:

function pushfstring(fmt: PAnsiChar): PAnsiChar; cdecl; varargs; external;

...

function PushString(fmt: AnsiString; const args: array of const): AnsiString;
begin
  Result := AnsiString(pushfstring(PAnsiString(fmt), args)); // it's incorrect :/
end;
Run Code Online (Sandbox Code Playgroud)

如何将"const of const"转换为"varargs"?

编辑:函数PushString实际上在记录中(我给出了一个简化的例子),我没有直接访问pushfstring.直接呼叫被排除在外.

编辑2:我为Delphi编写了LUA库的单元,这个案例对我来说非常重要.

指定并提供事情的所有细节 - 我在C中有这个功能:

LUA_API const char *(lua_pushfstring) (lua_State *L, const char *fmt, ...);
Run Code Online (Sandbox Code Playgroud)

在Delphi中我有这样的东西:

LuaLibrary.pas

{...}
interface
{...}
function lua_pushfstring(L: lua_State; fmt: PAnsiChar): PAnsiChar; cdecl; varargs;
implementation
{...}
function lua_pushfstring; external 'lua.dll'; // or from OMF *.obj file by $L
Run Code Online (Sandbox Code Playgroud)

dtxLua.pas

uses LuaLibrary;
{...} …
Run Code Online (Sandbox Code Playgroud)

arrays delphi variadic-functions

8
推荐指数
1
解决办法
6037
查看次数