问题列表 - 第12614页

Python 3 unittest模拟用户输入

如何在单元测试调用的函数中模拟用户输入(使用Python 3的unittest)?例如,我有一个函数foo()谁正在测试我的输出.在该foo()函数中,它要求用户输入:

x = input(msg)

输出基于输入:

print("input: {0}".format(x))

我希望我的单元测试运行foo(),输入一个输入并将结果与​​预期结果进行比较.

unit-testing python-3.x

4
推荐指数
1
解决办法
3597
查看次数

重叠的vector :: insert的行为

C++标准在哪里声明传递给它的迭代器对std::vector::insert不能与原始序列重叠?

编辑:详细说明,我很确定标准不需要标准库来处理这样的情况:

std::vector<int> v(10);
std::vector<int>::iterator first = v.begin() + 5;
std::vector<int>::iterator last = v.begin() + 8;
v.insert(v.begin() + 2, first, last);
Run Code Online (Sandbox Code Playgroud)

但是,我无法在标准中找到任何可以禁止范围[first, last)[v.begin(), v.end())重叠的内容.

c++ vector

3
推荐指数
1
解决办法
264
查看次数

Python/Suds:未找到类型:'xs:complexType'

我有以下简单的python测试脚本,它使用Suds来调用SOAP Web服务(该服务是用ASP.net编写的):

from suds.client import Client

url = 'http://someURL.asmx?WSDL'

client = Client( url )

result = client.service.GetPackageDetails( "MyPackage"  )

print result
Run Code Online (Sandbox Code Playgroud)

当我运行此测试脚本时,我收到以下错误(使用代码标记,因为它不包装):

No handlers could be found for logger "suds.bindings.unmarshaller"
Traceback (most recent call last):
  File "sudsTest.py", line 9, in <module>
    result = client.service.GetPackageDetails( "t3db"  )
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 240, in __call__
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 379, in call
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 240, in __call__
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 422, in call
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", line 480, in invoke
  File "build/bdist.cygwin-1.5.25-i686/egg/suds/client.py", …
Run Code Online (Sandbox Code Playgroud)

python soap suds

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

在方法声明中使用typedef但在方法定义中使用规范类型是合法的C++吗?

GNU C++(g ++ -pedantic -Wall)接受这个:

typedef int MyInt;

class Test
{
public:
    MyInt foo();
    void bar(MyInt baz);
}; 

int Test::foo()
{
    return 10;
}

void Test::bar(int baz)
{
}

int main(void)
{
    Test t;
    t.bar(t.foo());
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它是合法的C++吗?其他编译器是否可能接受它?

c++ standards typedef g++ standards-compliance

3
推荐指数
2
解决办法
294
查看次数

你会把这些方法放在哪个班级?

如果我有一个User类,并且可以通过在suspensions表中添加条目来暂停其帐户,那么您认为哪个类/方法签名更合适?

User::suspend($reason, $expiryDate);
Suspension::add($userid, $reason, $expiryDate);
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,但我在整个应用程序中到处都有这种情况.一方面,我想让它成为User对象的一个​​方法,因为执行的动作与该用户对象本身直接相关,但另一方面使它成为悬挂对象上的方法似乎更清晰.

你怎么看?

oop

3
推荐指数
1
解决办法
204
查看次数

C++中的循环引用,没有指针

有没有办法在不使用指针的情况下定义循环引用?

我需要有这样的事情:

struct A;
struct B {
    A a;
};

struct A {
    B b;
};
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ pointers circular-reference

5
推荐指数
3
解决办法
6392
查看次数

循环语句的批处理文件

我把下面的批处理文件放在一起; 我对批处理文件没有多少经验,我无法弄清楚文件失败的原因,并显示错误消息:

DO命令是意外的.

看下面的代码,有谁知道我做错了什么?谢谢.

@ECHO OFF
REM Set arguments supplied by Subversion 
SET REPOS = %1
SET REV = %2

REM Set working directory path 
SET WORKSPACE = D:\apache\htdocs

REM Assign changes to variable 
SET CHANGES = svnlook changed %REPOS% -r %REV% 

REM Update only changed files  
FOR /f %%a IN %CHANGES% DO svn update %%a
Run Code Online (Sandbox Code Playgroud)

windows for-loop batch-file

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

体验使用.NET Micro Framework进行编程

我咨询的公司正在寻求切换到由.NET Micro Framework提供支持的设备,以便我们能够更快地将设备推向市场.至少在理论上,这个想法是用C#而不是C或汇编进行编码会更快,更容易出错.就像我说的那样,这个理论,因为我从未编写过嵌入式设备.

我的问题如下:

  1. .NET Micro Framework是否能胜任这项任务?
  2. .NET Micro Framework无法做到的一些事情是什么?
  3. 有哪些陷阱?
  4. 插件设备是否有可行的第三方市场?我没有在微软的网站上看到很多东西.
  5. 有人可以指向使用MF Framework开发的商业设备.

谢谢.

c# .net-micro-framework

7
推荐指数
2
解决办法
2546
查看次数

Excel将SpreadsheetML转换为Open XML(XLSX)

简单的问题。有谁知道将SpreadsheetML(Excel 2003 XML)转换为用于Excel 2007(xlsx)文件的Open Document XML的简便方法吗?

不幸的是,我有一个无法读取XML格式的库,因此我需要尝试找到一种不涉及其他库的读取数据的方法。

任何建议表示赞赏。

c# xml excel

5
推荐指数
1
解决办法
7398
查看次数

使用带有gettext()的正确翻译名称的settings.LANGUAGES

来自Django文档:

如果您定义自定义LANGUAGES 设置,可以将语言标记为翻译字符串(如上面显示的默认值) - 但使用"虚拟" gettext()功能,而不是使用"虚拟" 功能django.utils.translation.您永远不应该django.utils.translation从您的设置文件中导入 ,因为该模块本身取决于设置,这将导致循环导入.解决方案是使用"虚拟" gettext()功能.这是一个示例设置文件:

gettext = lambda s: s LANGUAGES = ( ('de', gettext('German')), ('en', gettext('English')), )

通过这种安排,django-admin.py makemessages仍然可以找到并标记这些字符串以进行转换,但转换不会在运行时发生 - 因此您必须记住在运行时gettext()使用的任何代码中 包装真实语言 LANGUAGES.

将语言包装成真实意味着什么gettext()?如何在代码中调用它?

python django translation gettext

5
推荐指数
2
解决办法
4649
查看次数