sql的提交正确性测试

sqlwhat的Python项目详细描述


SqlWhat

Build StatuscodecovPyPI version

sqlwhat使您能够为datacamp上的交互式sql练习编写提交正确性测试(sct)。

安装

pip install sqlwhat     # install from pypi
make install            # install from source

参考

提出如何解析sql的问题

请提出有关响应式解析器repo的问题:

基本用途

fromsqlwhat.StateimportState# State holds info needed for testsfromsqlwhat.ReporterimportReporterfromsqlwhat.checksimport*# imports all SCTsfromsqlalchemyimportcreate_enginecode="SELECT * FROM artists WHERE id < 100"state=State(student_code=code,solution_code=code,pre_exercise_code="",student_conn=create_engine('sqlite:///'),solution_conn=create_engine('sqlite:///'),student_result={'id':[1,2,3],'name':['greg','jon','martha']},solution_result={'id':[1,2,3],'name':['toby','keith','deb']},reporter=Reporter())# test below passes, since code is equal for student and solutionhas_equal_ast(state)# test below raises a TestFail error, since 'name' col of results# doesn't match between student and solution resultscheck_result(state)# shows error datastate.reporter.build_payload()# can also be done using a chainfromsqlwhat.sct_syntaximportExEx(state).check_result()

运行单元测试

pytest -m "not backend"

如果还想运行后端测试,则需要设置一个具有(私有)sqlbackend存储库访问权限的GITHUB_TOKEN环境变量。 在此之后,您可以:

make install
pytest

测试规则

  1. 运行查询是后端的工作
  2. 如果测试不运行查询,则不需要后端
  3. 很少有测试应该运行查询

构建文档

安装sqlwhat并运行..

cd docs
make html

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在一个问题被连续正确回答三次/并添加差异后,我如何将程序循环回开始   Java中未实例化的匿名类   java如何在Android中录制视频,只允许横向模式和最长时间录制时间   java从另一个活动发送实时消息   多线程java线程和互斥   java禁用Spring安全日志   JAVA伊奥。StreamCorruptedException:在与子级和父级ProcessBuilder通信时写入子级中的标准输出时,流头无效   使用Java(HttpURLConnection)对Restheart进行身份验证(对于Mongodb)   java如何解决Jenkins中的SAXParseException?   java为什么我需要mockito来测试Spring应用程序?   计算sin-cos和tan时缺乏精度(java)   java Hibernate。不同项目中相同一对一映射的不同行为   java图像滑块:如何使用JavaFX将图像放在另一个图像上   java Mockito在使用when时抛出NotAMockException   http Java servlet发送回响应