小编Pic*_*els的帖子

Python单元测试:使nose显示失败的断言值

是否有可能显示失败的断言值?它显示了回溯以及抛出了什么样的异常,但知道哪些值失败会更实际.

例:

assert result.file == file
AssertionError
Run Code Online (Sandbox Code Playgroud)

python nose

15
推荐指数
2
解决办法
4193
查看次数

Asp.net Mvc:Ninject - IPrincipal

我想知道如何使用Ninject将IPrincipal绑定到Asp.net Mvc中的HttpContext.Current.User.

友好的问候,

Pickels

编辑:

不确定它是否重要但我使用自己的CustomPrincipal类.

asp.net-mvc ninject inversion-of-control iprincipal

14
推荐指数
1
解决办法
1831
查看次数

Django:IntegrityError:列user_id不是唯一的

我想测试使用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)

python django

13
推荐指数
2
解决办法
2万
查看次数

Django 1.3:测试期间发件箱为空

也许我不明白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)

也许我一直在努力工作并且遗漏了一些非常明显的东西?

django django-testing

12
推荐指数
1
解决办法
1893
查看次数

Django:默认语言i18n

我有一个用荷兰语写的网站.现在我必须为该网站提供法语的第二语言.

所以我包含了所有需要用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)

django localization

12
推荐指数
1
解决办法
1万
查看次数

如何使用Sinon.js存根事件发射器

我试图存根以下内容:

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)

javascript mocking stub sinon

12
推荐指数
2
解决办法
7355
查看次数

module.config中提供哪些提供者/服务?

我想使用$ 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从服务器获取数据,但这也是不可用的.

angularjs

12
推荐指数
2
解决办法
1万
查看次数

Python:使用下载的模块

我是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目录中的文件做一些事情,但我不确定是什么.

python

11
推荐指数
1
解决办法
1万
查看次数

用<p>段和<br />标记替换换行符

所以我知道如何在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)

我可以写更多的例子/组合,但我想我的意思有点清楚.

提前致谢.

.net html c# string newline

10
推荐指数
2
解决办法
9104
查看次数

不同版本的文件是否有自己的blob/sha?

如果我正确读取git将所有文件存储在blob中.如果修改文件,文件的修改版本会获得它自己的blob,因此它自己的sha?

git

10
推荐指数
2
解决办法
578
查看次数