- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是使用 Django 的新手。当我运行命令 python manage.py test 时,我不断收到以下错误;
Tact/tact_api/lines/test_views.py", line 103, in
test_api_can_create_an_event
self.assertEqual(self.response.status_code, status.HTTP_201_CREATED)
AssertionError: 400 != 201
----------------------------------------------------------------------
Ran 8 tests in 0.105s
对于解决此问题的任何帮助,我将不胜感激!我自己的一些想法包括;
1) 我的事件对象发布请求中可能存在语法错误。请参阅下面的测试代码。2)问题可能与配置有关。
供引用,参见下面的测试;
class EventViewTestCase(TestCase):
"""
Test suite for Event API views
"""
def setUp(self):
"""
Define the event test client and other test variables.
"""
user = User.objects.create(username="tactician")
# initialize client and force authentication
self.client = APIClient()
self.client.force_authenticate(user=user)
# create and post a new line using authorized user
# since user model instance is not serializable, use its Id/PK
self.line_data = {'owner': user.id, 'title': 'Title goes here'}
self.res = self.client.post(reverse('line-list'), self.line_data, format='json')
# create and post a new event linked to created line using authorized user
line = Line.objects.get()
self.event_data = {'owner': user.id, 'pk': line.id, 'title': 'Title goes here',
'desc': 'Desc. here', 'start': timezone.now(), 'end': timezone.now()}
self.response = self.client.post(reverse('event-list'), self.event_data, format='json')
def test_api_can_create_an_event(self):
"""
Test the api has event creation capability.
"""
self.assertEqual(self.response.status_code, status.HTTP_201_CREATED)
序列化器;
class EventSerializer(serializers.HyperlinkedModelSerializer):
"""
Convert Event model instance into native Python datatypes to be rendered as JSON.
"""
owner = serializers.ReadOnlyField(source='owner.username')
class Meta:
model = Event
fields = ('url', 'id', 'owner', 'created', 'modified', 'title', 'desc', 'start',
'end', 'line')
def get_fields(self, *args, **kwargs):
"""
create and return a new Event object (linked to a user owned Line) with validated data.
update and return an existing Event object with validated data.
"""
fields = super(EventSerializer, self).get_fields(*args, **kwargs)
view = self.context['view']
owner = view.request.user
fields['line'].queryset = fields['line'].queryset.filter(owner=owner)
return fields
最佳答案
此问题现已解决。
首先,在我的测试套件中,我提供给发布请求的事件负载数据存在轻微的语法错误。
self.event_data = {'owner': user.id, 'pk': line.id...}
改为;(行是我的事件模型中指定的外键字段名。)
self.event_data = {'owner': user.id, 'line': line.id...}
其次,对于我的事件序列化程序,我使用了错误的基类;
class EventSerializer(serializers.HyperlinkedModelSerializer)
改为;
class EventSerializer(serializers.ModelSerializer)
关于python - 运行 TestCase 时出现 AssertionError : 400 ! = 201,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48300369/
我在一个Spring Boot应用程序中有以下路线。并进行以下测试。第二个测试的目的是验证如果将消息“{}”发送到DIRECT:LOG终结点,它将超出To(Bean-validator://check
这是我的简单 test.py 脚本: import argparse parser = argparse.ArgumentParser('A long string that goes on and
我在Android Studio的另一台计算机上打开我的Kotlin项目,并在事件日志中遇到错误: AssertionError: Root package must be initialized R
我在redux (redux@3.7.2) 中使用combineReducer 方法时遇到错误。当我只使用一个 reducer 时,相同的代码将起作用。 Running code here 代码 co
我目前正在对我的 Controller 的一个方法进行单元测试。只是尝试测试该方法是否返回正确的字符串。 @RequestMapping(value = "/createTestscenario",
我收到错误: java.lang.AssertionError: expected: learning.java.advancedoop2.MyComplex but was: learning.ja
这个问题在这里已经有了答案: How can I check if two ArrayList differ, I don't care what's changed (6 个答案) 关闭 7 年前
我正在准备 OCP 7,我在其中一本证书书上遇到了这篇文章。 To discourage you from trying to substitute an assertion for an excep
我有一个 index.js 文件,它实现了一个 forEach 助手,如下所示: var images = [ { height: 10, width: 30 }, { height: 20,
作为实验,我 try catch 失败的断言。 try: assert 1==2 except Exception as e: print e 为什么没有显示? 最佳答案 >>> try: asser
我在 django 中创建了一个调用函数的命令。该函数执行 django orm 调用: def get_notes(): notes = Note.objects.filter(number
我有一个用户类和一个主题类。用户类可以创建一个主题,将一个主题添加到主题的字典中,并且应该能够返回主题的字典。我是 python 的新手,所以我在 python 逻辑/语法方面遇到了问题 class
我正在尝试创建一个基于用户身份验证限制结果的 View 。出于某种原因,列表切片总是导致 AssertionError Cannot filter a query once a slice has b
我正在使用带有注释处理器的内部 sun API (com.sun.tools.javac) 修改现有类。我能够使用以下代码生成 MethodDecl 并将其添加到 ClassDecl: JCTree.
这是原代码 //@author Brian Goetz and Tim Peierls @ThreadSafe public class SafePoint { @GuardedBy("thi
我能够访问 PasswordChangeSerializer 的 validate() 函数的 user_queryset,但是我仍然收到此错误: assert value is not None,
我正在尝试从破解编码面试中回答以下问题。下面的代码是 GitHub 上一个项目的一部分,here . Given a binary search tree, design an algorithm w
我正在使用 IBM Bluemix 为学校项目创建 Web 服务。 我设置了本地主机来运行我的代码,但是当我在 Windows 10 命令提示符中键入“npm start”时,我遇到了“assert.
将 tf.Dataset 传递到 tf.Keras 模型的 fit() 时,我收到 AssertionError方法。 我正在使用tensorflow==2.0.0。 我检查了我的数据集是否有效: #
我有一个异步回调,我为此编写了一个 junit 测试用例。我正在遵循 CountDownLatch 方法。如果回调失败,我必须使测试用例失败。这是我的代码 lock = new CountDo
我是一名优秀的程序员,十分优秀!