我正在尝试使用命令在数字海洋液滴上构建我的项目:
docker-compose -f dev.yml build
登录控制台:
Building node
Step 1/5 : FROM node:6.9.2
---> faaadb4aaf9b
Step 2/5 : COPY ./compose/node/entrypoint-dev.sh /entrypoint.sh
---> Using cache
---> 6c22978494e4
Step 3/5 : RUN sed -i 's/\r//' /entrypoint.sh && chmod +x /entrypoint.sh
---> Running in d7e663ef224c
Killed
Run Code Online (Sandbox Code Playgroud)
我认为问题是内存不足,所以我用命令创建了一个swap:
SWAPFILE=/swapfile [ = ???? ???????? / ???? ????????]
touch $SWAPFILE
chmod 600 $SWAPFILE
# TODO: pass "count" param to script as argument
dd if=/dev/zero of=$SWAPFILE bs=1024k count=2000
mkswap $SWAPFILE
swapon $SWAPFILE
Run Code Online (Sandbox Code Playgroud)
因此创建了交换,但在尝试运行docker build时仍然会获得Killed信息.为什么?
我正在尝试使用带有 mock.patch 的单元测试来测试我的 python 应用程序,但它不起作用。我的代码:
测试文件.py
from unittest.mock import patch
class TestMaterialsUpdate(TestCase):
def setUp(self):
self.client = Client()
@patch('api.accounts.helpers.get_authenticated_user', return_value={'username': 'username'})
def test_my_castom_method(self):
import api.accounts.helpers as he
print(he.get_authenticated_user) # printed mock here
print(he.get_authenticated_user) # returned {'username': 'username'}
url = reverse('materials_create')
# next call get_authenticated_user will be in post request
self.client.post(url,data=json.dumps({'data': 'data'}), content_type='application/json')
Run Code Online (Sandbox Code Playgroud)
发布请求调用检查“用户身份验证”使用get_authenticated_user功能的装饰器。但是在装饰器中,我得到了函数而不是模拟对象。
装饰器.py
def login_required(func):
def wrapper(*args, **kwargs):
print(get_authenticated_user) # printed <function get_authenticated_user at 0x7fec34b62510>
user = get_authenticated_user(request) # return None instead {'username: 'username'}
Run Code Online (Sandbox Code Playgroud)
为什么decorators.py我得到了一个函数而不是模拟对象?Python 版本是 …