所以我有三个类:A,B,C.我需要为类编写单元测试A.
class A extends B{
//fields go here ...
public A(String string, ...){
super.(string,...);
}
//other methods here ...
}
class B{
C stuff;
//other stuff
}
Run Code Online (Sandbox Code Playgroud)
所以C是一个重要的资源(如JDBC或ssh Session).当然,我在嘲笑C.我怎么模仿B.Imagine B有许多扩展它的子类.
我的主要问题A是打电话super.(...).我不想将方法注入到A测试中.对我来说这是糟糕的设计.任何想法如何嘲笑父母?
例如,我不能这样做class MockB extends B{...},然后尝试MockB obj = new A();这不会因为这两个工作MockB和A将是儿童B.
我从一个Java REST背景来Python上Google App Engine's.我需要一些使用webapp2路径参数的帮助.下面是Java如何读取请求的示例.有人请将代码翻译成python如何阅读它webapp2?
// URL: my_dogs/user_id/{user_id}/dog_name/{a_name}/breed/{breed}/{weight}
@Path("my_dogs/user_id/{user_id}/dog_name/{a_name}/breed/{breed}/{weight}")
public Response getMyDog(
@PathParam("user_id") Integer id,
@PathParam("a_name") String name,
@PathParam("breed") String breed,
@PathParam("weight") String weight
){
//the variables are: id, name, breed, weight.
///use them somehow
}
Run Code Online (Sandbox Code Playgroud)
我已经走了过来例子在谷歌(https://developers.google.com/appengine/docs/python/gettingstartedpython27/usingwebapp).但我不知道如何扩展简单
app = webapp2.WSGIApplication([('/', MainPage),
('/sign', Guestbook)],
debug=True)
Run Code Online (Sandbox Code Playgroud) 在我的本地机器(即http://localhost:8080/)上,我已将数据输入我的GAE数据存储区中,用于某个实体调用Article.关闭我的电脑,然后第二天重新启动,我发现数据存储空了:没有实体.有没有办法在将来阻止这种情况?
如何在本地数据存储中复制数据?此外,我是否可以稍后将所述数据上传到localhost和production?
我的模特是ndb.
我正在使用Max OS X和Python 2.7,如果这些重要的话.
所以我有一个启动五个线程的方法.我想编写一个单元测试来检查五个线程是否已经启动.我怎么做?示例代码非常感谢.
我试图将我的代码从linux移植到mac OSX LION.以下方法适用于linux就好了.
Connection getConnection() throws SQLException{
String url = "jdbc:mysql://localhost/";
return DriverManager.getConnection(url, "root", "mypassword");
}
Run Code Online (Sandbox Code Playgroud)
但它不能在我的Mac上工作.我正在使用XAMMP,因此我的数据库的路径是/Applications/XAMPP/xamppfiles/bin/mysql.我得到的错误是读
Exception in thread "main" java.sql.SQLException:
No suitable driver found for jdbc:mysql://localhost/
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
Run Code Online (Sandbox Code Playgroud)
基于以下帖子的反馈更新:
我下载了jar并将其添加到项目的构建路径中.当我尝试添加Class.forName("com.mysql.jdbc.Driver")我得到编译错误,所以我评论它.然后我运行该程序以获得以下错误:
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at …Run Code Online (Sandbox Code Playgroud) 我有一个Python列表.如下图所示,我想检查其中一个子列表是否包含一个项目.以下尝试失败.有没有人知道一个简单的方法 - 没有我写我自己的循环?
>>> a = [[1,2],[3,4],[5,6],7,8,9]
>>> 2 in a
Run Code Online (Sandbox Code Playgroud)
我希望,True但回报是False
PHP具有$_SERVER['DOCUMENT_ROOT']对网站基本URL的引用:例如http://localhost:8080/.我需要做同样的事情jinja2.我在app引擎上使用python 2.7.
如何在jinja2中获取网站的基本网址?
我有一个字符串列表
["oranges", "POTATOES", "Pencils", "PAper"]
Run Code Online (Sandbox Code Playgroud)
我想查找列表是否包含paper,忽略大小写; 以便打印以下代码段found.我的列表只包含仅由英文字母组成的简单字符串 - 大写和小写.
item = 'paper'
stuff = ["oranges", "POTATOES", "Pencils", "PAper"]
if item in stuff:
print "found"
else:
print "Not found"
#How do I get the method to print "found"?
Run Code Online (Sandbox Code Playgroud)
澄清:
我的列表实际上是一个列表列表,我的逻辑使用以下构造:
if not any ( item in x for x in stuff):
print "Not found"
else:
print "found"
Run Code Online (Sandbox Code Playgroud) 我使用的是 Mac OS X Lion 版本 10.8。我通过 XAMPP 安装了 MySQL。我已将 mysql 和 jdbc 驱动程序 (5.1.22) 添加到我的类路径中。以下简单代码不起作用:
package learning.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Simple {
Connection getConnection() throws SQLException{
String url = "jdbc:mysql://localhost/";
return DriverManager.getConnection(url, "username", "password");
}
void createDatabase(String database, Connection conn) throws SQLException{
Statement stmt = null;
try {
stmt = conn.createStatement();
stmt.executeUpdate("drop database if exists "+database);
stmt.executeUpdate("create database "+database);
}finally {
if(null != stmt)
stmt.close();
}
}
public static void main(String args[]) …Run Code Online (Sandbox Code Playgroud) 问题:
有没有人知道如何合并而不EntityManager试图重新插入外国实体?
场景:
只是为了设置一个与我的案例非常匹配的场景:我有两个实体
@Entity
@Table(name = "login", catalog = "friends", uniqueConstraints =
@UniqueConstraint(columnNames = "username"))
public class Login implements java.io.Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Integer id;
@Column(name = "username", unique = true, nullable = false, length = 50)
private String username;
@Column(name = "password", nullable = false, length = 250)
private String password;
}
@Entity
@Table(name = "friendshiptype", catalog = …Run Code Online (Sandbox Code Playgroud) 我正在使用 Python 2.7(谷歌应用引擎)
学习了Python,我已经弄清楚语言是如何使用继承来实现多态的。
INHERITANCE基于多态性在PYTHON:
class pet:
number_of_legs = None
age = None
def sleep(self):
print "zzz"
def count_legs(self):
print "I have %s legs." % self.number_of_legs
return self.number_of_legs
class dog(pet):
def bark(self):
print "woof"
doug = dog()
doug.number_of_legs = 5;
print "Doug has %s legs." % doug.count_legs()
doug.bark()
Run Code Online (Sandbox Code Playgroud)
我的问题是:Python 是否具有松散耦合的多态性,即使用interface而不是inheritance. 例如,在 Java 中,没有祖先关系的类可以实现相同的接口。见HouseDog和PetRock下面的例子。
INTERFACE基于多态性在JAVA:
class Animal{
int legs;
double weight;
public int getLegs(){return this.legs;} …Run Code Online (Sandbox Code Playgroud)