如果我的表中有数据如下
WITH dataset AS (
SELECT ARRAY[
CAST(ROW('Bob', 38) AS ROW(name VARCHAR, age INTEGER)),
CAST(ROW('Alice', 35) AS ROW(name VARCHAR, age INTEGER)),
CAST(ROW('Jane', 27) AS ROW(name VARCHAR, age INTEGER))
] AS users,
CAST(ROW('Google') AS ROW(company VARCHAR)) AS company
)
SELECT * FROM dataset
Run Code Online (Sandbox Code Playgroud)
预期格式如下:
{
"company": "Google",
"users": [
{
"name": "Bob",
"age": 38
},
{
"name": "Alice",
"age": 35
},
{
"name": "Jane",
"age": 27
}
]
}
Run Code Online (Sandbox Code Playgroud)
如何构造从该数据中提取的 JSON?
我在主模块中有一个函数,它接受两个值并对它们执行操作。这使用在调用此函数之前创建的全局变量
def calc(keys,values):
if globalvar == "calc":
return sum(keys)
else:
return sum(values)
Run Code Online (Sandbox Code Playgroud)
现在正在单元测试中
class Testcalc(TestCase):
@mock.patch('module.globalvar ', "calc")
def test_unit(self,calc):
keys=[1,2,3]
values=[4,5,6]
sum=module.calc(keys,values)
"""
check asserts
"""
Run Code Online (Sandbox Code Playgroud)
我收到无效参数的类型错误。
TypeError('test_unit() takes exactly 2 arguments (1 given)',)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我模拟全局变量的正确方法
更新:这对我有用,不知道为什么
class Testcalc(TestCase):
@mock.patch('module.globalvar')
def test_unit(self,var):
keys=[1,2,3]
values=[4,5,6]
var="calc"
sum=module.calc(keys,values)
"""
check asserts
"""
Run Code Online (Sandbox Code Playgroud)
谢谢大家