NSubstitue를 사용하여 IDBCommand를 대체하고 싶습니다. 나는 필드의 CommandText를 대체 값해야하고, 나는IDBCommand에 대한 NS substitue CA2100
string settedCommandText=string.Empty;
IDbCommand fakeCommand = Substitute.For<IDbCommand>();
command.CommandText =Arg.Do<string>(x => settedCommandText = x);
모든 권리를했지만 컴파일러 던져 오류 :
CA2100 The query string passed to 'IDbCommand.CommandText.set(string)' in 'DriverTest.RevertCommandSendRevertInstruction()' could contain the following variables 'Arg.Do(...)'. If any of these variables could come from user input, consider using a stored procedure or a parameterized SQL query instead of building the query with string concatenations.
가 어떻게이 오류를 억제하지 않고이 코드를 다시 작성할 수 있습니다. 사용하지 않으려는 경우 System.Diagnostics.CodeAnalysis.SuppressMessage
저는 Arg.Do가 필요하지 않다고 생각합니다. 테스트 액션 후에'fakeCommand.CommandText' 속성을 선언하십시오. –