我有以下的.dpr文件
program TPWDDBManager;
{
Delphi DUnit Test Project
-------------------------
This project contains the DUnit test framework and the GUI/Console test runners.
Add "CONSOLE_TESTRUNNER" to the conditional defines entry in the project options
to use the console test runner. Otherwise the GUI test runner will be used by
default.
}
{$IFDEF CONSOLE_TESTRUNNER}
{$APPTYPE CONSOLE}
{$ENDIF}
uses
DUnitTestRunner,
TestuTPWDDBManager in 'TestuTPWDDBManager.pas';
{$R *.RES}
begin
DUnitTestRunner.RunRegisteredTests;
end.
并且下一个单元:
unit TestuTPWDDBManager;
{
Delphi DUnit Test Case
----------------------
This unit contains a skeleton test case class generated by the Test Case Wizard.
Modify the generated code to correctly setup and call the methods from the unit
being tested.
}
interface
uses TestFramework;
type
// Test methods for class TPWDDBManager
TestTPWDDBManager = class(TTestCase)
strict private
public
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestUpdateVersion;
procedure TestGetPWD;
procedure TestChangePWD;
procedure TestReset;
procedure TestIsReset;
end;
Idlg = interface(IInvokable)
['{E369D075-E3CA-4BB3-896C-0D623DE5798F}']
end;
implementation
uses SysUtils,Delphi.Mocks;
procedure TestTPWDDBManager.SetUp;
var
FMessageDLG : TMock<IDlg>;
begin
end;
procedure TestTPWDDBManager.TearDown;
begin
end;
procedure TestTPWDDBManager.TestGetPWD;
begin
// TODO: Validate method results
end;
procedure TestTPWDDBManager.TestIsReset;
begin
end;
procedure TestTPWDDBManager.TestChangePWD;
begin
end;
procedure TestTPWDDBManager.TestReset;
begin
end;
procedure TestTPWDDBManager.TestUpdateVersion;
begin
end;
initialization
// Register any test cases with the test runner
RegisterTest(TestTPWDDBManager.Suite);
end.
当我进行编译时,我得到了几个警告,如下所示:
[DCC Warning] W1029:拥有相同参数的重复构造函数“TExpectation.CreateAfter”将无法从C++中访问 [DCC Warning] W1029:拥有相同参数的重复构造函数“TExpectation.CreateAfterWhen”将无法从C++中访问 [DCC Warning] W1029:拥有相同参数的重复构造函数“TExpectation.CreateAtLeastOnce”将无法从C++中访问
但是,如果我删除
FMessageDLG : TMock<IDlg>;
这一行,则会消除警告。请问如何解决这个问题?
UPLICATE
实际上是DUPLICATE
,对吗?还有一个问题:将其放在我的单元上并没有解决问题,我必须将其放在项目的单元上,然后警告才消失了,为什么会这样? - Felipe Morais