修改nose_html_reporting,解决输出带中文时,不能生成html文件

在使用nose_html_reporting时,如果测试输出中带有中文,那么html输出会失败,提示如下:

提示‘ascii‘编码码失败

这是因为在string.IO中取回来的数据与当前脚本中声明的编码不一致时导致

所以我们要做编码转换

解决如下:

修改nose_html_reporting插件的__init__.py文件

# -*- coding: utf-8 -*-
import StringIO
import re
import codecs
import inspect
import os
import traceback
from collections import defaultdict
from datetime import datetime

from jinja2 import Environment
from jinja2 import FileSystemLoader
from nose.exc import SkipTest
from nose.plugins import Plugin
import sys
#加入下面两行
reload(sys)
sys.setdefaultencoding("utf8")

修改输出:

    def _format_output(self, o):
        if isinstance(o, str):
            return o.decode(‘utf-8‘)
            #return o.decode(‘latin-1‘)
        else:
            return o

再次使用,问题解决。

参考文档:http://blog.csdn.net/liuyukuan/article/details/5187633

时间: 2024-10-24 01:49:30

修改nose_html_reporting,解决输出带中文时,不能生成html文件的相关文章

Asp.Net 生成网站时不生成.pdb文件

Asp.Net默认情况下生成网站发布时,打开Bin文件夹,每个类库会对应生成一个类库名.pdb文件... .pdb是用来放置VS的调试信息的,项目发布后可以删除它. 右键点击类库项目,在属性里.生成,点高级,调试信息默认是 full ,你可以选择成 none,就是不调试.保存就可以了. 原文转载 http://www.dyxue.com/tech/id2547.html Asp.Net 生成网站时不生成.pdb文件,布布扣,bubuko.com

Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用aapt命令生成R.java文件 2.用aidl命令生成相应java文件 3.用javac命令编译java源文件生成class文件 4.用dx.bat将class文件转换成classes.dex文件 5.用aapt命令生成资源包文件resources.ap_ 6.用apkbuilder.bat打包资源

linux修改配置文件解决mysql中文乱码和指定数据库存储引擎

如题,mysql数据库的中文显示乱码: 先看下原来数据库里的字符编码: mysql> show variables like '%character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | l

Android调用Sqlite数据库时自动生成db-journal文件的原因

数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等.Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在 这个journal文件便是Sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生, 在事务结束时删除.当程序发生崩溃或者系统断电时该文件将留在磁盘上,以便下次程序运行时进行事务回滚. 在android模式下,journal文件是永久的留在磁盘上不会被自动清除的.如果没有发生事务回滚那么.db-

在WebStorm里配置watcher实现编辑less文件时自动生成.css文件

1.安装 nodejs     //查看nodejs版本  node -v //查看npm版本  npm -v //全局安装less  npm install -g less 2.配置webStrom 添加external Tools parameters是默认地址的话  直接点insert就行 (Progrem 自己的安装位置   F:\NODE\node.exe) (parameters:C:\Users\Administrator\AppData\Roaming\npm) 添加watche

设置pycharm 创建文件时自动生成头文件

找到该路径并添加以下信息 File->settings->Editor->File and Code Templates->Python Script  #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time    : ${DATE} ${TIME}# @Author  : Aries# @Site    : ${SITE}# @File    : ${NAME}.py# @Software: ${PRODUCT_NAME}

使用VS2012生成DLL文件 (1)

一:生成DLL 1:创建DLL工程 文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以) 填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成. 到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h. MyDLL.cpp内容如下: 1 #include  2 using namespace std; 3 #include "M

程序自动生成dump文件

作用 可以再程序崩溃后保留崩溃现场,方便事后查找程序的崩溃原因. 前提是奔溃程序所对应的代码和PDB文件都是匹配的(发布程序的时候,保留源代码和PDB文件). 代码示例 原理是使用DbgHelp的自定义未处理异常来保留崩溃现场到文件的,使用直接包含该头文件,然后再main函数的开始就调用EnableAutoDump函数. // pro_dump.h // 包含本文件是用来处理程序崩溃时自动生成dump文件的 // 生成的dump文件在程序的工作目录下 // 文件名格式是:年月日_时分秒.dmp

通过freemarker出word的技术解决方案_通过点击一个按钮临时实现生成一个word,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表

 通过freemarker制作word比较简单 步骤:制作word模板.制作方式是:将模板word保存成为xml----在xml的word模板中添加相应的标记----将xml的word文件的后缀名改成ftl文件 详细步骤如下: 模板制作(将要动态显示的数据打上标记,这个标记是freemarker中的EL标记,要注意的是,要控制值为空的情况,下面${(site.wzmc)?default("")}标识当网站名称为空的时候显示空值,如果这里如果不做控制,在实际项目中会显示错误!) 另外