是否有可能显示失败的断言值?它显示了回溯以及抛出了什么样的异常,但知道哪些值失败会更实际.
例:
assert result.file == file
AssertionError
Run Code Online (Sandbox Code Playgroud) 我想知道如何使用Ninject将IPrincipal绑定到Asp.net Mvc中的HttpContext.Current.User.
友好的问候,
Pickels
编辑:
不确定它是否重要但我使用自己的CustomPrincipal类.
我想测试使用User对象的东西.
但由于某些原因,我得到:
IntegrityError: column user_id is not unique
Run Code Online (Sandbox Code Playgroud)
我一直在撞墙一段时间,似乎我无法弄清楚出了什么问题.起初我以为可能数据库没有在测试之间刷新,但是我跟踪了User.objects.all()并且它是一个空列表.
这是测试:
from django.contrib.auth.models import User
from django.test import TestCase
class TestSomething(TestCase):
def test_create_user(self):
User.objects.create_user('foo', 'foo@bar', 'bar')
Run Code Online (Sandbox Code Playgroud)
我的测试设置:
from settings import *
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': ':memory:',
}
}
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
Run Code Online (Sandbox Code Playgroud)
更新:
我应该更好地阅读我的strack痕迹.它实际上是导致问题的以下信号.
@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
if created:
Profile(user=instance).save()
Run Code Online (Sandbox Code Playgroud) 也许我不明白outbox是如何工作的,但是从我理解的文档中,它只是在测试期间捕获所有外发邮件.
我用新应用程序创建了一个新项目,并添加了以下代码.
from django.test import TestCase
from django.core.mail import send_mail, outbox
class SimpleTest(TestCase):
def test_basic_addition(self):
send_mail('Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False)
self.assertEqual( len( outbox ), 1 )
Run Code Online (Sandbox Code Playgroud)
当我运行python manage.py test app_name时,它会给出一个断言错误0!= 1.我做错了什么?
更新
好吧,如果我导入django.core.mail并使用mail.outbox它确实有效,这很奇怪.
试图比较outbox和mail.outbox的直接导入,它们都给出了不同的结果
from django.core import mail
from django.core.mail import send_mail, outbox
...
self.assertEqual(outbox, mail.outbox)
Run Code Online (Sandbox Code Playgroud)
收益:
- []
+ [<django.core.mail.message.EmailMessage object at 0x1e1fd90>]
Run Code Online (Sandbox Code Playgroud)
也许我一直在努力工作并且遗漏了一些非常明显的东西?
我有一个用荷兰语写的网站.现在我必须为该网站提供法语的第二语言.
所以我包含了所有需要用gettext函数翻译的文本,创建了po文件并将它们编译成mo文件.我还创建了一个视图,将django_language会话设置为适当的语言代码.所以现在法语版本正在运行,但我无法切换回荷兰语版本.
所以我想知道我还需要为荷兰语版创建一个po/mo文件吗?正在过去获取文本的文本已经在荷兰语中.有没有办法说使用'默认文字'?
这是我用来将语言代码添加到会话的视图:
class LanguagePickerView(RedirectView):
url = '/'
def get(self,request,*args, **kwargs):
request.session['django_language'] = self.kwargs.get('language')
return super(LanguagePickerView, self).get(request, args, kwargs)
Run Code Online (Sandbox Code Playgroud)
在我的模板中,我使用以下网址:
<a href='{% url web-language 'nl-nl' %}'>NL</a>
<a href='{% url web-language 'fr' %}'>fr</a>
Run Code Online (Sandbox Code Playgroud) 我试图存根以下内容:
on('complete', function(data){ });
Run Code Online (Sandbox Code Playgroud)
如果第一个参数是'complete',我只想调用回调函数.
我正在测试的功能还包括:
on('error', function(data){ });
Run Code Online (Sandbox Code Playgroud)
因此,我不能仅仅执行yield会导致完成和错误回调.
如果我不使用sinon,我会通过编写以下内容来伪造它.
var on = function(event, callback){
if (event === 'complete'){
callback('foobar');
};
};
Run Code Online (Sandbox Code Playgroud) 我想使用$ document从输入字段中获取服务器值.
var base_url = $document[0].getElementById('BaseUrl').value;
Run Code Online (Sandbox Code Playgroud)
基本URL用于抓取模板.
var base_url = $document[0].getElementById('BaseUrl').value;
$routeProvider.when('/alert', {
controller: function () { },
templateUrl: base_url + '/partials/instances.html'
});
Run Code Online (Sandbox Code Playgroud)
由于$ document会抛出一个错误,我不知道它在配置中是不可用的?有没有办法找出可用的和不可用的?我也可以使用$ http从服务器获取数据,但这也是不可用的.
我是Python新手,大多使用自己的代码.但是现在我下载了一个我需要解决的问题.
结构示例:
root\
externals\
__init__.py
cowfactory\
__init__.py
cow.py
milk.py
kittens.py
Run Code Online (Sandbox Code Playgroud)
现在,cowfactory __init__.py的确如此from cowfactory import cow.这会导致导入错误.
我可以修复它并将import语句更改为from externals.cowfactory import cow但有些东西告诉我有一种更简单的方法,因为它不太实用.
另一个修复可能是将cowfactory包放在我的项目的根目录中,但这也不是很整洁.
我想我必须对__init__.pyexternals目录中的文件做一些事情,但我不确定是什么.
所以我知道如何在C#代码中替换换行符.但是替换<br />标签的换行并不总是非常正确.
所以我想知道其他人使用什么样的策略?我猜的正确方法是使用<p>标签和<br />标签.
以下是我想得到的结果的一些例子.
如果没有换行符,我希望文本包含在<p>标签中.
此文本不包含换行符
<p>This text contains no newlines</p>
Run Code Online (Sandbox Code Playgroud)
如果文本包含换行符,我希望将其替换为<br />标记并包含在<p>标记中.
此文本包含
1个换行符
<p>This text contains<br /> 1 newline.</p>
Run Code Online (Sandbox Code Playgroud)
如果有"双重换行符",我希望将该块包装在<p>标签中.
这是一个末尾带有"双重换行符"的文本.
这是一个最后没有换行的文本.
<p>This a text with 'double newlines at the end.</p>
<p>This is a text with no newline at the end.</p>
Run Code Online (Sandbox Code Playgroud)
我可以写更多的例子/组合,但我想我的意思有点清楚.
提前致谢.
如果我正确读取git将所有文件存储在blob中.如果修改文件,文件的修改版本会获得它自己的blob,因此它自己的sha?
django ×3
python ×3
.net ×1
angularjs ×1
asp.net-mvc ×1
c# ×1
git ×1
html ×1
iprincipal ×1
javascript ×1
localization ×1
mocking ×1
newline ×1
ninject ×1
nose ×1
sinon ×1
string ×1
stub ×1