任务完成后,开发人员将其关闭.相关的用户故事开始由QA团队进行测试.
我的问题是:一旦QA团队发现了一个bug,除了他们打开一个bug之外,他们是否应该重新打开任务和相关的用户故事?
使用TFS 2012和敏捷模板
请考虑以下代码:
type
TFoo1 = class
public
procedure DoSomething1;
end;
TFoo2 = class
private
oFoo1 : TFoo1;
public
procedure DoSomething2;
procedure DoSomething3;
constructor Create;
destructor Destroy; override;
end;
procedure TFoo1.DoSomething1;
begin
ShowMessage('TFoo1');
end;
constructor TFoo2.Create;
begin
oFoo1 := TFoo1.Create;
end;
destructor TFoo2.Destroy;
begin
oFoo1.Free;
inherited;
end;
procedure TFoo2.DoSomething2;
begin
oFoo1.DoSomething1;
end;
procedure TFoo2.DoSomething3;
var
oFoo1 : TFoo1;
begin
oFoo1 := TFoo1.Create;
try
oFoo1.DoSomething1;
finally
oFoo1.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我正在为一个班级创建单元测试,我坚持下去.我的问题都是关于模拟对象和我应该使用的设计模式的最佳方法.我是单元测试的类不是由我创建的.
在下面的示例中,我需要模拟,Foo1
因为它向我在单元测试期间无法调用的Web服务发送请求.但是Foo1
正在由TFoo2
构造函数创建,我无法模仿它.在这种情况下我该怎么办?我应该修改TFoo2
构造函数来接受这样的Foo1
对象吗?
constructor TFoo2.Create(aFoo1 …
Run Code Online (Sandbox Code Playgroud)delphi unit-testing design-patterns dependency-injection mocking
考虑使用Indy组件从Internet下载文件的以下代码:
procedure TForm26.Button1Click(Sender: TObject);
var
vFileStream : TStream;
begin
DeleteFile('C:\test.exe');
vFileStream := TFileStream.Create('C:\test.exe', fmCreate);
IdHTTP1.Get('SomeUrl', vFileStream);
vFileStream.Free;
end;
Run Code Online (Sandbox Code Playgroud)
我得到一个Out of memory异常.发生的事情是,除了我正在使用的事实之外TFileStream
,写入它的字节不会直接进入磁盘,相反,它们会一直停留在内存中直到get
终止.
我试图下载的文件非常非常大.
有没有人知道如何下载一个大文件而不会出现内存不足的异常?
Delphi 2010和来自Indy SVN的最新Indy 10.
编辑
那不是FileStream
问题.这是一个Indy
问题.不知何故,Indy在写入流之前将文件缓存在内存中.
我有一个dunit测试项目,我试图在控制台模式下运行它.当我执行项目时,它运行两次(它只打开一个控制台窗口,我看到它执行了两次测试),并且执行时也比在GUI模式下运行时花费更多时间.有谁知道如何只运行一次dunit控制台测试?
DPR源代码:
var
R: TTestResult;
begin
Application.Initialize;
if IsConsole then begin
with TextTestRunner.RunRegisteredTests(rxbHaltOnFailures) do begin
R := TextTestRunner.RunRegisteredTests;
ExitCode := R.ErrorCount + R.FailureCount;
Free;
end
end
else begin
GUITestRunner.RunRegisteredTests;
end;
end.
Run Code Online (Sandbox Code Playgroud) 有没有人有一个THttpApiServer的样本(在Synopse上找到)?我无法找到有关使用此类创建简单Web服务器的任何文档.
有谁知道如何在Delphi 2010应用程序中获取默认网关?我发现了一些像windows这样的功能GetAdaptersAddresses
,但我不知道如何使用它.
有没有办法以编程方式调用DLL扩展的DLL?我们使用在Windows资源管理器上注册shell扩展的软件,我需要在其上下文菜单中调用其中一个可用的项目.我没有想要调用的软件源代码.
编辑
仅当我在Windows资源管理器中选择PDF文件时,才会显示此上下文菜单.所以我需要调用它传递一个dll文件.
编辑
注册信息:
[HKEY_CLASSES_ROOT\CLSID {2DC8E5F2-C89C-4730-82C9-19120DEE5B0A}] @ ="PDFTransformer3.PDFTContextMenu.1"
[HKEY_CLASSES_ROOT\CLSID {2DC8E5F2-C89C-4730-82C9-19120DEE5B0A}\InprocServer32] @ ="C:\ Program Files\ABBYY PDF Transformer 3.0\PDFTContextMenu.dll""ThreadingModel"="Apartment"
[HKEY_CLASSES_ROOT\CLSID {2DC8E5F2-C89C-4730-82C9-19120DEE5B0A}\ProgID] @ ="PDFTransformer3.PDFTContextMenu.1"
[HKEY_CLASSES_ROOT\CLSID {2DC8E5F2-C89C-4730-82C9-19120DEE5B0A} \可编程]
[HKEY_CLASSES_ROOT\CLSID {2DC8E5F2-C89C-4730-82C9-19120DEE5B0A}\VersionIndependentProgID] @ ="PDFTransformer3.PDFTContextMenu"
编辑
是否可以ShellExecuteEx
使用我想要的动词(不是默认动词)来调用?如果是这样,我如何调用我想要的动词(使用DLL)?
多数民众赞成我想要一个PDF文件的动词:
如何遍历IContextMenu的所有项目和子项并列出所有可用的动词?到目前为止,我从JCL中提取了这个工作代码:
function DisplayContextMenuPidl(const Handle: THandle; const Folder: IShellFolder; Item: PItemIdList; Pos: TPoint): Boolean;
var
Cmd: Cardinal;
ContextMenu: IContextMenu;
ContextMenu2: IContextMenu2;
Menu: HMENU;
CommandInfo: TCMInvokeCommandInfo;
CallbackWindow: THandle;
vteste : string;
begin
Result := False;
if (Item = nil) or (Folder = nil) then
Exit;
Folder.GetUIObjectOf(Handle, 1, Item, IID_IContextMenu, nil,
Pointer(ContextMenu));
if ContextMenu <> nil then
begin
Menu := CreatePopupMenu;
if Menu <> 0 then
begin
if Succeeded(ContextMenu.QueryContextMenu(Menu, 0, 1, $7FFF, CMF_EXPLORE)) then
begin
CallbackWindow := 0;
if Succeeded(ContextMenu.QueryInterface(IContextMenu2, ContextMenu2)) then
begin …
Run Code Online (Sandbox Code Playgroud) 我开发了一个Webservice
,我在Delphi上使用它.
Indy组件有一个OnWork
事件,但我在THTTPRIO中找不到类似的东西.
是否有OnWork
活动THTTPRIO
?我猜它在内部使用了Indy,但我确信这一点.
delphi ×9
delphi-2010 ×3
agile ×1
c# ×1
download ×1
dunit ×1
file ×1
indy ×1
mocking ×1
refactoring ×1
tfs ×1
tfs2012 ×1
unit-testing ×1
web-services ×1
webserver ×1
winapi ×1
windows ×1