我正在使用一个查询做一个测试(我现在使用的是Execute SQL String而不是行数)来计算行数,代码如下。
*** Settings ***
Library DatabaseLibrary
Library OperatingSystem
*** Variables ***
${DBName} db
${DBUser} user
${DBPass} password
${DBHost} hostname
${DBPort} port
*** Test Cases ***
Making row count
DatabaseLibrary.Connect To Database pymysql ${DBName} ${DBUser} ${DBPass} ${DBHost} ${DBPort}
${result} = Execute SQL String SELECT COUNT(*) as count_id FROM myTable; True
should be equal as strings ${result} 6
Disconnect From Database
如果我进入我的数据库,我返回6行,所以测试应该通过。然而,使用RobotFramework,我得到了以下结果。
==============================================================================
Making row count | FAIL |
None != 6
为什么我的结果是None? 我使用Execute SQL String是因为我有同样的代码用于其他一些更复杂的SQL查询的测试。
谢谢!我在做一个测试,使用的是SQL字符串,因为我在其他测试中使用了同样的代码,有一些比较复杂的SQL查询。
行数将通过Execute SQL关键字返回。数据返回将只通过 查询 关键字. 请尽量使用:
${rows}= Query SELECT COUNT(*) as count_id FROM myTable;
should be equal as strings ${rows} 6
或
@{results} Query ${yourQuery}