我开始编写PHPUnit测试,我希望测试从开发人员机器以及我们的服务器运行.开发人员的计算机设置与服务器不同,甚至彼此不同.
要在这些不同的地方运行,似乎运行测试的人必须指出它在哪里运行.然后,测试可以查找正在运行的机器的正确配置.
我想象的是:
phpunit.bat -X johns_laptop unittest.php
或者在alpha服务器上:
phpunit -X alpha unittest.php
在测试中,我将能够获得"X"(或它是什么)参数的值,并且知道,例如,应用程序根目录的路径是什么.
它看起来不像命令行允许的那样 - 或者我错过了什么?
我在许多其他php文件中都包含一个web应用程序根目录中的config.php文件.所以他们中的大多数都有这样一条线:
require_once("config.php");
Run Code Online (Sandbox Code Playgroud)
或者有时候
require_once("../config.php");
Run Code Online (Sandbox Code Playgroud)
甚至
require_once("../../config.php");
Run Code Online (Sandbox Code Playgroud)
但是我第一次做对了.在读取其中一个文件时,我无法弄清楚php将会考虑当前的工作目录.它显然不是包含require_once()调用的文件的目录,因为我可以在同一目录中有两个文件,它们具有config.php的不同路径.
我有一种情况,其中一个路径是正确的刷新页面,但ajax可以更新页面的一部分需要一个不同的路径到require_once()语句中的config.php;
秘密是什么?从哪条路径评估?
拍摄,我担心这不会是一个常见的问题 - 这是在Windows 2.2上运行的apache 2.2.8和PHP 5.2.6下发生的.
当我用python文件启动Visual Studio代码时,我开始收到以下错误
The environment variable 'Path' seems to have
some paths containing characters (';', '"' or ';;').
The existence of such characters are known to have
caused the Python extension to not load. If the
extension fails to load please modify your paths to
remove these characters.
Run Code Online (Sandbox Code Playgroud)
我检查了我的路径,确实有一个;; 出现.我删除了它,但我仍然收到错误.
这是我目前的路径.
PATH=C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Common Files\Lenovo;C:\SWTOOLS\ReadyApps;C:\Program …Run Code Online (Sandbox Code Playgroud) 我的代码工作正在为每条消息创建一个新的平台应用程序.我认为这很浪费,所以我尝试更改代码以用于list_platform_applications获取可用的应用程序并重用具有正确名称的部分(部分PlatformApplicationArn).
当突然我将从以下错误中获取此错误时,这将适用于连续的几条消息CreatePlatformApplication:
{"错误":{"代码":"InvalidParameter","消息":"无效参数:此端点已使用其他令牌注册.","类型":"发件人"},"RequestId":"06bd3443- 598e-5c06-9f5c-7f84349ea067" }
这甚至没有意义.我正在创建一个端点.我没有通过.它是否真的抱怨它返回的端点.
根据亚马逊文档:
"CreatePlatformEndpoint操作是幂等的,因此如果请求者已拥有具有相同设备令牌和属性的端点,则返回该端点的ARN而不创建新端点."
所以在我看来,如果有合适的,它将被退回.否则,创造一个全新的.
我错过了什么吗?
我有一个由MySQL数据库支持的PHP网站和一个向subversion提交代码的程序员团队.通常我们编写代码,在本地测试它,提交subversion,然后将更改的文件复制到隐藏区域进行在线测试.
但是可以犯错误.偶尔我想刷新网站,以便毫无疑问地知道网站代码和数据库确实代表了颠覆中的内容.我希望尽可能接近一键式解决方案,以便它是万无一失的.
最好的方法是什么?
顺便说一句,如果重要的话,我们在Windows机器上开发.
我是骨干的新手,但我写了一个基本的模型,并试图获取我的模型的数据.我知道服务器正在返回数据但是fetch正在调用错误回调.
这很好,但我不知道如何找到正在生成的错误.
这是相关的代码:
mUser = Backbone.Model.extend({
urlRoot: CURRENT_URL+'user',
defaults: {
name: '',
age: 22,
email: ''
},
initialize: function(){
}
});
user = new mUser({'id':1});
var x = user.fetch({
error: function(model, xhr, options){
alert('Error on fetch')
console.log(xhr.responseText);
},
success: function(model, response, options) {
alert(user.toJSON());
}
})
console.log('x email',x.email)
Run Code Online (Sandbox Code Playgroud)
正如我所提到的,responseText确实拥有我期望从服务器看到的数据,即:
{ '身份证': '1', '名': '乔', '年龄': '25', '邮件': 'joe@example.com'}
也许我应该提一下,我这样做,作为PhoneGap Android应用程序的一部分.我不认为这对我遇到的问题很重要,但它确实限制了我的调试选项.
如下面的错误消息所示,我无法登录,因为我处于状态LOGOUT而不处于状态NONAUTH.如何从LOGOUT到NONAUTH?
下面的示例(显然登录凭据是伪造的)
Python 2.7.3 (default, Aug 1 2012, 05:14:39)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import imaplib
>>> imap_server = imaplib.IMAP4_SSL("imap.gmail.com",993)
>>> imap_server.login('something@myserver.com', 'mypassword')
('OK', ['something@myserver.com Joe Smith authenticated (Success)'])
>>> imap_server.logout()
('BYE', ['LOGOUT Requested'])
>>> imap_server.login('something@myserver.com', 'mypassword')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/imaplib.py", line 505, in login
typ, dat = self._simple_command('LOGIN', user, self._quote(password))
File "/usr/lib/python2.7/imaplib.py", line 1070, in _simple_command
return self._command_complete(name, self._command(name, *args))
File …Run Code Online (Sandbox Code Playgroud) 我知道我可以获得单片机的"价值"属性,但我发现获得单片机的文本非常困难.
考虑下面的例子.它有3个radiobuttons,并试图提醒第一个单选按钮的值,这是"红色",然后尝试提醒radiobutton的文本,"apple"但是失败了.
获取几乎所有元素的文本都可以使用elem.childNodes [0] .nodeValue完成.为什么它不适用于radiobuttons?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>Radio Buttons</title>
<style type="text/css">
</style>
<script type="text/javascript">
function start(){
var rblist = document.getElementsByName("colors");
var elem = rblist[0];
alert(elem.value); // PRINTS "RED"
alert(elem.childNodes[0].nodeValue); //THROWS ERROR
}
</script>
</head>
<body onload="start();">
<input type="radio" name="colors" value="red" checked>apple</input>
<input type="radio" name="colors" value="blue">sky</input>
<input type="radio" name="colors" value="green">grass</input>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我想在下面绘制的排列中布置一些 div。它是两个并排的方形块,然后是垂直排列的 2 个半高块,其中第三个大块可能适合。
+---------+ +---------+ +---------+
| BOX1 | | BOX2 | | BOX3 |
| | | | +---------+
| | | | +---------+
| | | | | BOX4 |
+---------+ +---------+ +---------+
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经接近的唯一方法是创建 3 个左浮动框并将两个较小的框放在第三个浮动框中。这对我来说感觉不对。就像,我添加额外的 div 只是为了控制布局。也许那没问题,但感觉不对。
在这里看到它:
https://jsfiddle.net/a84kv4wo/1/
+---------+ +---------+ +---------+
| BOX1 | | BOX2 | | BOX3 |
| | | | +---------+
| | | | +---------+
| | | | | BOX4 |
+---------+ +---------+ +---------+
Run Code Online (Sandbox Code Playgroud)
.big_box {
height: 8em;
width: …Run Code Online (Sandbox Code Playgroud)