我正在为我的项目编写测试,在单元测试之后,我正在编写FunctionalTest.
但在功能与硒测试的目标之间,我有点迷失.
功能测试是否只是在这里测试,无论我发送到任何页面(主要是在POST),它应该返回我期望的(200,302,404,500),还是更多?(比如测试返回的页面是否是我期望的那个(比如"登录页面"?或者这个测试应该在Selenium中?)
因为到目前为止,我的F测试只是一堆函数,
assertStatus每个都有一个,我觉得它有点无用.我相信我可以做得更多,但不知道为什么.
您在功能测试中测试了什么?
我试图在Windows(XP)中运行Play Framework 2.0,但是当我启动游戏时,我遇到了这个异常:
>play.bat
Exception in thread "main" java.lang.NoClassDefFoundError: and
Caused by: java.lang.ClassNotFoundException: and
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: and. Program will exit.
Run Code Online (Sandbox Code Playgroud)
我找不到为什么会有这个错误.我当然安装了Java:
>java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)
Run Code Online (Sandbox Code Playgroud)
和javac:
>javac -version
javac 1.6.0_31
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
谢谢你的帮助.
我希望使用Google Charts使用JavaScript生成图表,并且我读到旧的Google Chart Api仅限于每位用户每天的查询量(请在此处阅读).
所以我想知道这个限制是应用于谷歌图表(使用JavaScript)还是仅适用于图像,和/或是否存在其他限制(非商业等免费).
我正在尝试使用Flask-SqlAlchemy连接到MySQL数据库,这是我的参数:
SQLALCHEMY_DATABASE_URI = 'mysql://root:pass@127.0.0.1/database?charset=utf8'
Run Code Online (Sandbox Code Playgroud)
但是当我转到网址时,我收到此错误:
AttributeError:'tuple'对象没有属性'drivername'
如果我更改SQLALCHEMY_DATABASE_URI为sqlite:///db.sqlite,它可以正常工作.
我错过了什么?
注意:我也试过mysql+mysqldb://,没有任何运气.
我遇到了一个我无法理解的问题.我通过Redis(作为队列)将json数据作为字符串发送,接收器抛出以下错误:
[ERROR JSON (in queue)] - {"ip": null, "domain": "somedomain.com", "name": "Some user name", "contact_id": 12345, "signature":
"6f496a4eaba2c1ea4e371ea2c4951ad92f41ddf45ff4949ffa761b0648a22e38"} => end is out of bounds
Run Code Online (Sandbox Code Playgroud)
抛出异常的代码如下:
try:
item = json.loads(item[1])
except ValueError as e:
sys.stderr.write("[ERROR JSON (in queue)] - {1} => {0}\n".format(str(e), str(item)))
return None
Run Code Online (Sandbox Code Playgroud)
真奇怪的是,如果我打开一个python控制台并执行以下操作:
>>> import json
>>> s = '{"ip": null, "domain": "somedomain.com", "name": "Some user name", "contact_id": 12345, "signature": "6f496a4eaba2c1ea4e371ea2c4951ad92f41ddf45ff4949ffa761b0648a22e38"}'
>>> print s
Run Code Online (Sandbox Code Playgroud)
我没有问题,字符串(在Python控制台中复制/粘贴)根本没有产生任何错误,但我原来的代码是扔掉一个!
你对导致这个问题的原因有什么看法吗?
使用时time.sleep(),是否会阻塞 Flask 请求?
我的一个 Flask 端点启动了一个长处理子任务,并且在某些情况下,不是异步执行工作,而是可以等待任务完成并在同一个请求中返回结果。
在这种情况下,我的 Flask 应用程序启动该过程,然后等待它完成,然后返回结果。我的问题是,在调用类似(简化)时:
while True:
if process_is_done():
break
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)
Flask 会阻止该请求直到它完成,还是会允许其他请求在此期间到来?
我有一个变量,它是"type"的一个实例:
my_var = type('hello')
Run Code Online (Sandbox Code Playgroud)
str(my_var) 输出 "<type 'str'>"
但是如何从中获取原始对象名称my_var,即在这种情况下:str?
我有两节课:
public abstract class Arguments {
public List execute() {
// do some stuff and return a list
}
}
// and a child :
public class ItemArguments {
public List<Item> execute() {
return super.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,ItemArguments中的execute方法有点无用,但如果没有它,我必须将所有调用转换为Arguments中的execute方法.
有没有办法删除ItemArguments中的execute方法,并避免在进行调用的地方进行强制转换?
谢谢你的帮助!
我想知道是否有可能覆盖SQL查询的Where子句中的列值(在我的情况下是MySQL).
更清楚,这是一个例子:
假设一个基本查询是:
SELECT lastname, firstname FROM contacts WHERE lastname = "Doe";
Run Code Online (Sandbox Code Playgroud)
是否可以强制lastname并firstname从其他表返回值,只需修改WHERE部分之后的内容即可?就像是
SELECT lastname, firstname FROM contacts WHERE lastname = (SELECT name FROM companies);
Run Code Online (Sandbox Code Playgroud)
我目前正在测试一个Web应用程序,我发现了一个SQL注入缺陷,我可以将其更改Doe为我想要的任何内容,但我只限制了一个查询(PHP的mysql_query限制)和addslashes(因此没有"和").
使用 Python Unittest,这是一个测试套件的示例:
import unittest
# Here's our "unit".
def IsOdd(n):
return n % 2 == 1
# Here's our "unit tests".
class IsOddTests(unittest.TestCase):
def testOne(self):
self.failUnless(IsOdd(1))
def testTwo(self):
self.failIf(IsOdd(2))
def main():
unittest.main(verbosity=2)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
结果:
testOne (__main__.IsOddTests) ... ok
testTwo (__main__.IsOddTests) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.000s
OK
Run Code Online (Sandbox Code Playgroud)
是否可以增强测试的显示,例如:
Testing ODD method
Testing with value is 1 (__main__.IsOddTests) ... ok
Testing with value is 2 (__main__.IsOddTests) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.000s …Run Code Online (Sandbox Code Playgroud) python ×6
flask ×3
mysql ×2
file-upload ×1
inheritance ×1
java ×1
json ×1
python-3.x ×1
security ×1
sleep ×1
sql ×1
sqlalchemy ×1
types ×1
wait ×1
windows ×1