python怎么启动服务器_如何在Python单元中从命令行启动服务器
我正在为一个Python脚本构建一个测试程序,该脚本将与rejectdb数据库一起执行工作。作为setUp()方法的一部分,我试图让测试人员在端口28016上的localhost上启动RejectDB服务器,以防尚未启动。在
我用subprocess启动服务器。问题是,根据https://docs.python.org/2/library/subprocess.html,subprocess等待命令完成。在这种情况下,似乎只要服务器启动并运行,过程就不完整,测试也不会继续超过setUp()阶段。在
下面是我尝试的脚本:import unittest
import rethinkdb as r
import subprocess
class TestController(unittest.TestCase):
HOST = "localhost"
PORT_OFFSET = 1
PORT = 28015 + PORT_OFFSET
DB = "ipercron"
TABLE = "sensor_data"
def setUp(self):
try:
self.conn = r.connect(self.HOST, self.PORT)
except r.ReqlDriverError:
print("The RethinkDB server is not yet ready. Starting it up...")
subprocess.call(["rethinkdb", "--port-offset", str(TestController.PORT_OFFSET)])
self.conn = r.connect(self.HOST, self.PORT)
if TestController.DB not in r.db_list().run(self.conn):
r.db_create(TestController.DB).run(self.conn)
self.conn.use(TestController.DB)
if TestController.TABLE not in r.table_list().run(self.conn):
r.table_create(TestController.TABLE).run(self.conn) # Create the table if it does not yet exist
r.table(TestController.TABLE).delete().run(self.conn) # Empty the table to start with a clean slate
def test_upper(self):
self.assertEqual('foo'.upper(), 'FOO')
suite = unittest.TestLoader().loadTestsFromTestCase(TestController)
unittest.TextTestRunner(verbosity=2).run(suite)
subprocess用于在命令行执行rethinkdb --port-offset 1命令,然后继续执行脚本。但是,当我运行脚本时,会收到一条通常的消息:服务器已就绪:
^{pr2}$
没有任何进一步的行动。如何让unittest继续进行测试?在
python怎么启动服务器_如何在Python单元中从命令行启动服务器相关推荐
- springboot脚本启动bat_SpringBoot修改JVM参数(内置Tomcat命令行启动和IDEA工具配置修改)...
命令行启动:(java [-options] -jar jarfile [args...]) 在 "-jar" 之前加上相应参数即可 java -Xms512m -Xmx512m ...
- python隐藏启动台_如何在Python中启动后台进程?
如何在Python中启动后台进程? 我正在尝试将shell脚本移植到更易读的python版本. 原始shell脚本在后台使用"&"启动多个进程(实用程序,监视器等). 如何 ...
- python右对齐 数字_如何在Python中右对齐数值数据?
我有一些数据,我显示在3列格式,形式"键:值键:键:值键:值".这里有一个例子: p: 1 sl: 10 afy: 4 q: 12 lg: 10 kla: 3 r: 0 kl: 1 ...
- python 指定证书验证_如何在python中验证SSL证书?
我需要验证我的自定义CA签署了证书.使用OpenSSL命令行实用程序很容易做到: # Custom CA file: ca-cert.pem # Cert signed by above CA: bo ...
- python队列怎么用_如何在Python中使用多处理队列? - python
我很难理解多处理队列如何在python上工作以及如何实现它.假设我有两个python模块,它们从共享文件中访问数据,我们将这两个模块称为writer和Reader.我的计划是让读取器和写入器都将请求放 ...
- python字符串筛选输出_如何在Python中过滤字符串列表
Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任 ...
- python获取当前时间戳_如何在Python中获取当前时间戳?
在Python中可以使用来自模块time.datetime或calendar的函数来获取当前时间戳,代码语句如[import time;ts = time.time() print(ts)]. 在Py ...
- python静态变量计数器_如何在Python中使用静态变量在计数
今天,在用Python写一个统计一个文件下有多少文件的小标本时,遇到了一个很棘手的问题.如何在Python中使用静态变量来计数.然后,就在网上一通查找,找的方法都是利用类的方法来实现静态变量.说实话没 ...
- python列表元素求和_如何在python语言使用不同方法实现列表元素求和
在使用python语言列表时,如果列表中的元素都是数值类型,可以对元素进行求和.下面利用不同的方法实现列表元素求和: 工具/原料 python pycharm 截图工具 方法/步骤 1 第一步,在已创 ...
最新文章
- DeepSpeed超大规模模型训练工具
- golang通过itemid获取zabbix graph监控图
- 推荐8个鲜为人知,但是很有意思的工具,简洁又好用!
- 如何在ActionScript 3中将“ Null”(真实的姓氏!)传递给SOAP Web服务
- 记录ASP.NET CORE 3 部署过程
- 创建WCF第一个应用程序
- 8-spark学习笔记-sparksql
- linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log
- 在加州最古老的监狱教课是种什么样的体验?
- 如何定制日历控件显示的星期文字
- Leetcode每日一题:169.majority-element(多数元素)
- 英国政府寻求在2022年成为“全球性网络力量”
- UOS系统JAVA应用在任务栏显示类名的问题跟踪调用
- 684.冗余连接(力扣leetcode) 博主可答疑该问题
- linux红帽子7.5,Red Hat Enterprise Linux 7.5正式发布,功能增强
- ppt如何替换其他mo ban_一次性解决PPT初学者的20个常见问题,赶紧收藏
- VT是什么?怎么打开教程
- 资深 Googler 深度解读 TensorFlow
- 全网首发:12306抢票算法大曝光?(十张图搞定)
- cmd如何远程重启服务器