我正在尝试学习如何unittest在 python 中使用该框架。当我运行包含测试的文件时,我不断收到以下消息。
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
Run Code Online (Sandbox Code Playgroud)
我在这里和其他地方搜索过,但不明白为什么它不识别测试。每个测试都以 开始,test并且其他部分unittest似乎与文档的要求相匹配。
这是脚本的文本:
import unittest
from datetime import datetime, timedelta
class Activity(object):
'Holds detail information on a activity'
def __init__(self, location, activity_name, activity_id, start_date, end_date):
self.activity_name = activity_name
self.activity_id = activity_id
self.start_date = datetime.strptime(start_date, '%m/%d/%Y').date()
self.end_date = datetime.strptime(end_date, '%m/%d/%Y').date()
self.location = location
if __name__ == '__main__':
unittest.main()
class TestActivity(unittest.TestCase):
def setUp(self):
self.activity = Activity('UVU', 'OpenWest', 'Beginning Python'
, '00000', '12/1/2013', '12/30/3013')
def test_activity_creation(self):
self.assertEqual(self.activity.location, …Run Code Online (Sandbox Code Playgroud) data.table列列表传递?我希望能够使用 data.table 在 R 中生成列的子集,这样我就可以提前确定其中的一些列,并将预定列表作为字符向量传递,然后与静态列列表组合。
\n也就是说,考虑到:
\na <- 1:4\nb <- 5:8\nc <- c('aa','bb','cc','dd')\ne <- 1:4\n\nz <- data.table(a,b,c,e)\nRun Code Online (Sandbox Code Playgroud)\n我想做这个:
\nz[, list(a,b)]\nRun Code Online (Sandbox Code Playgroud)\n产生以下输出:
\n a b\n1: 1 5\n2: 2 6\n3: 3 7\n4: 4 8\nRun Code Online (Sandbox Code Playgroud)\n但我想以某种类似于此的方式来做到这一点(几乎有效):
\ncols <- "b"\nz[, list(get(cols), a)]\nRun Code Online (Sandbox Code Playgroud)\n结果:\n请注意,它不返回存储在中的列的名称cols
V1 a\n1: 5 1\n2: 6 2\n3: 7 3\n4: 8 4\nRun Code Online (Sandbox Code Playgroud)\n但我需要使用多个元素来完成此操作cols(这不起作用):
cols <- c('a', 'b')\nz[, list(mget(cols), c)]\nRun Code Online (Sandbox Code Playgroud)\n上述产生以下错误:
\nError: value for …Run Code Online (Sandbox Code Playgroud)