我是Python的新手,在单元测试我的对象上的一些方法时,我发现了一些"怪异"的东西.
class Ape(object):
def __init__(self):
print 'ooook'
def say(self, s):
print s
def main():
Ape().say('eeek')
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
我写了这个小例子来说明我感到困惑的地方.如果你做Ape().说('eeek')这实际上是实例化一个Ape对象并运行init方法吗?我以为它不会,但我有一些奇怪的副作用,所以现在我在想它呢?
我正在尝试将数据从流传输到子进程.
var gm = spawn( 'gm convert - -thumbnail 220x165^ -gravity center -extent 220x165 thumb.jpg' );
var rs = fs.createReadStream( 'cow.jpg' );
rs.pipe( gm.stdin )
Run Code Online (Sandbox Code Playgroud)
我是否需要在gm上调用end才能工作?同样在我的真实代码中,我从数据库中获取流.
要将gtk-2.0添加到我的virtualenv中,我执行了以下操作:
$ virtualenv --no-site-packages --python=/usr/bin/python2.6 myvirtualenv
$ cd myvirtualenv
$ source bin/activate
$ cd lib/python2.6/
$ ln -s /usr/lib/pymodules/python2.6/gtk-2.0/
Run Code Online (Sandbox Code Playgroud)
现在在Python解释器中,当我输入gtk时,它说:没有名为gtk的模块.当我用sudo启动解释器时,它可以工作.
有什么理由我需要使用sudo并且有办法防止它吗?
更新:
忘了提到cairo和pygtk工作,但它不是我需要的那个.
Update2:
这里的目录显示我并不疯狂.
http://www.friendly-stranger.com/pictures/symlink.jpg
在我刚刚使用内置django序列化程序之前,它添加了一个模型字段.
{
pk: 1
model: "zoo.cat"
}
Run Code Online (Sandbox Code Playgroud)
如何使用django-piston获得相同的模型字段?
我尝试了fields =('id','model'),但这不起作用.
如何使用Texttile获得以下内容:
<table>
<tr>
<td>
Model:
</td>
<td>
Ford<br/>
BMW<br/>
VM
</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
所以一个单元格有多条线.
我有以下代码:
class Clients
constructor : ->
@clients = []
createClient : (name)->
client = new Client name
@clients.push client
Run Code Online (Sandbox Code Playgroud)
我用Jasmine BDD测试它是这样的:
describe 'Test Constructor', ->
it 'should create a client with the name foo', ->
clients = new clients
clients.createClient 'Foo'
Client.should_have_been_called_with 'Foo'
it 'should add Foo to clients', ->
clients = new clients
clients.createClient 'Foo'
expect(clients.clients[0]).toEqual SomeStub
Run Code Online (Sandbox Code Playgroud)
在我的第一个测试中,我想检查是否使用正确的名称调用构造函数.在我的第二个,我只是想确认从新客户端发出的任何内容都被添加到数组中.
我正在使用Jasmine BDD,它有一种方法来创建间谍/模拟/存根,但似乎不可能测试构造函数.所以我正在研究一种测试构造函数的方法,如果有一种方法可以让我不需要额外的库,那么我会很开心.
我的机器上安装了VS2012 Express Web,可以创建除MVC3/MVC4应用程序之外的所有不同类型的项目.当我在New Project对话框中单击OK时,我得到Select A Template对话框.我注意到Create a Unit Test Project复选框已禁用.选择任何选项(例如Internet Application)会给出同样的错误:系统找不到指定的文件(HRESULT 0x80070002中的异常).
我已经卸载并删除了C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\Common7\IDE\VWDExpress\ProjectTemplatesCache和ItemsTemplateChache - 并在删除后删除了整个VWDExpress目录,以便全新安装将重新创建所有模板.我已经尝试过web安装程序以及.iso安装程序.有谁见过这个问题或者有什么想法我不能创建MVC3/MVC4项目?
任何想法将不胜感激.我已经发布到MSDN Newgroup,没有任何运气.
比尔,问候
我想知道用我自己的CustomGenericPrincipal替换genericPrincipal最好的方法是什么.
目前我有这样的事情,但我不确定它是否正确.
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
var identity = new CustomIdentity(authTicket);
var principal = new CustomPrincipal(identity);
Context.User = principal;
}
else
{
//Todo: check if this is correct
var genericIdentity = new CustomGenericIdentity();
Context.User = new CustomPrincipal(genericIdentity);
}
}
Run Code Online (Sandbox Code Playgroud)
我需要替换它,因为我需要一个实现我的ICustomPrincipal接口的Principal,因为我正在使用Ninject执行以下操作:
Bind<ICustomPrincipal>().ToMethod(x => (ICustomPrincipal)HttpContext.Current.User)
.InRequestScope();
Run Code Online (Sandbox Code Playgroud)
那么替换GenericPrincipal的最佳方法是什么?
提前致谢,
Pickels
可能重复:
获取python类parent(s)
我有一个:
class Animal(models.Model):
pass
class Cat(Aminal):
pass
class StreetCat(Cat):
pass
Run Code Online (Sandbox Code Playgroud)
如何找出模型继承的模型?
python ×4
asp.net-mvc ×2
django ×2
asp.net ×1
coffeescript ×1
imagemagick ×1
jasmine ×1
javascript ×1
node.js ×1
security ×1
sitemap ×1
textile ×1
virtualenv ×1