Jsunit单元测试笔记

Detail 0 Comments »
1.Jsunit是javascript的单元测试框架,官网为:http://www.jsunit.net/,使用前需要下载到本地上

2.在html中使用jsunit,必须在将jsUnitCore.js文件引入到文件当中去,可以使用相对路径也可以使用绝对路径
<script src="jsUnitCore.js"></script>

3.测试函数的命名与Junit3.8的命名基本一致,使用test后加被测试的函数名,通常被测试函数名首字母大写,如testAdd。

4.对于JsUnit  来说,其setUp 和tearDown 方法与JUnit  的运行原理是不同的,
(1)JUnit  中的setUp 和tearDown 之间是没有关系的,也就是说不同的测试方法运行在不同的测试对象之中。
(2)JsUnit的各个测试函数是运行在同一个测试页面中。因此setUp 和tearDown会针对同一个变量进行操作。 

5.setUpPage函数,
(1)类似于JUnit 4.x中的@BeforeClass
(2)此函数只执行一次(在页面加载后)
(3)注意并没有与@AfterClass对应的函数存在
(4)在该函数中 ,setUpPageStatus = "complete"; 这行代码必须放在setUpPage函数的最后一行,告诉JsUnit,setUpPage函数已经执行完毕

6.一般将测试函数写在一个js文件当中,再编写一个html页面对其进行测试

7.JsUnit 目录中的 TestRunner.html页面用来进行测试你所编写的html测试页面

8.测试套件名一定为suite:function suite(),注意,增加的测试页面的路径是相对于测试运行器(testRunner.html)的路径,而不是当前页面。
具体例子如下(黑体部分一般固定,测试可以包含页面也可以包含套件)
function mySuite()
  {
     var testSuite = new top.jsUnitTestSuite();
     
     testSuite.addTestPage("test1.html");
     testSuite.addTestPage("test1.html");
     testSuite.addTestPage("test1.html");
     
     return testSuite;
  }

  function suite()
  {
     var testSuite = new top.jsUnitTestSuite();
     
     testSuite.addTestPage("test1.html");
     testSuite.addTestSuite(mySuite());

     return testSuite;
  }


Tags: 单元测试 jsunit

Posted in |

Dota AI命令

Detail 0 Comments »
在下列命令前键入 "-o", "-c" 或 " c"作为前缀: (例。 "-oa", "-ca", " ca"都是合法命令) 
提示: XX 代表玩家代号 (1,2,,10), 你可以用 ","隔开输入多个代号 (例。 "-oa 2,4,5") 
  
a 或 a XX:  AI攻击敌方基地。此命令可用来取消sd。 
当你使用该命令时,AI将有一段时间不会去打野或保卫基地。 
  
d 或 d XX:  AI防御我方基地。 
sd XX:  AI留守我方基地。当基地中仍有敌方战斗力时,AI会一直留守,直到敌方撤退。 
可以使用a命令来取消。 
  
b XX:  AI战线稍微退后。 
f XX:  AI向喷泉撤退。 
  
p[l/m/r/n]: (例。 -cpm 全民中路推) 
所有友方AI向一路推进(l、m、r代表左、中、右),此命令能否被响应取决于AI是否空闲。
键入pn意味着让AI选择一路他们比较喜欢的路推。 
  
g[l/m/r] XX: (例。 -cgl 3,5 命令3,5号AI左路推) 
指定友方AI立刻向一路推进(l、m、r代表左、中、右)(即时)。 
AI将会火速前往指定路线的友方的后方。 
  
t XX [目标]: (例。 -ct 1,4 8)(命令1,4号AI攻击8号玩家) 
攻击目标所在地(前提是目标可见)。 
  
neut:  打开/关闭AI打野怪开关。 
auto:  打开/关闭AI自动换路开关。 
  
roshan, roshanXX:  AI攻击Roshan。 
ui:  显示命令列表。你也可以仅仅键入一个空格来显示此列表。 
  
tango:吃树代替治疗药膏(必须在60秒内输入) 
flask:治疗药膏代替吃树(必须在60秒内输入)




Tags: dota6.68 ai 命令 魔兽

Posted in |

放假在家,很久没更新了

Detail 0 Comments »


自从一月二十三号回来后

就一直呆在家里

没怎么出门

也没怎么认真看借回来的几本书

倒是看了一些视频

Junit的非常之基础教程

还有一个垃圾的以用户为中心的视频

这几天在看oracle

希望寒假能学点东西吧

很快就过年啦

咔咔 

Tags: 寒假

Posted in |

Power Designer 12.5破解与汉化

Detail 0 Comments »


1.破解方法: 下载 PowerDesigner12.5 后有一个 license.lic 和 pdflm12.dll 两个文件,license.lic 是用于破解序号的,pdflm12.dll 是用于替换原来安装后的文件,破解首先用 pdflm12.dll 替换安装要目录的 pdflm12.dll 文件,然后在PD的菜单中找到 Tools ==>> License Parameters ==>> 选第一个,然后先load找到 下载的 license.lic 文件,重启即破解完成。


2.汉化方法:下载汉化文件后将汉化文件直接覆盖所安装目录即可。

Tags: Power Designer

Posted in |

期末周郁闷周

Detail 0 Comments »

最近忙着考试了

复习啊什么的

很多东西都得荒废了

貌似还有个课程设计啥的

加油了

明天冬至了

又老了

很快也就回家了

努力努力吧!!!

Tags: 考试 回家

Posted in |

MySql错误代码1045的解决方案

Detail 0 Comments »

 

错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)
解决办法是重新设置root用户密码,在Windows平台下操作步骤如下

 

方法一
1、以系统管理员身份登录到系统;
2、如果MySQL服务器正在运行,停止它。
      如果是作为Windows服务运行的服务器,进入服务管理器:开始菜单->控制面板->管理工具->服务
      如果服务器不是作为服务而运行的,可能需要使用任务管理器来强制停止它。
3、创建1个文本文件,并将下述命令置于单一行中:
      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
      用任意名称保存该文件。在本例中,该文件为C:\mysql-init.txt。
4、进入DOS命令提示:开始菜单->运行-> cmd
      假定你已将MySQL安装到C:\mysql。如果你将MySQL安装到了另一位置,请对下述命令进行相应的调

整。
      在DOS命令提示符下,执行命令:
            C:\> C:\mysql\bin\mysqld-nt --init-file=C:\mysql-init.txt
      在服务器启动时,执行由“--init-file”选项(作用:在启动时从指定的文件中读取SQL命令)命

名的文件的内容,更改根用户密码。当服务器成功启动后,应删除C:\mysql-init.txt。
5、停止MySQL服务器,然后在正常模式下重启它。如果以服务方式运行服务器,应从Windows服务窗口启动

它。如果以手动方式启动了服务器,能够像正常情形下一样使用命令。
应能使用新密码进行连接。

 

 

 

方法二
第一种方法:打开“开始”——“程序”——“MySQL“——”MySQL 5.0“——”MySQL Server Instance

Config Wizard”,一直点击下一步,直到出现如下对话框

Current root password:后面输入原先的密码

New root password:输入新的密码

Confirm:再输入一遍新的密码

然后就可Next一路下去......直到成功!

1045错误本质就是密码出现的问题!

Tags: mysql error

Posted in |

EasyGui Tutorial翻译

Detail 0 Comments »


EasyGui Tutorial入门手册终于翻译完了

不知道有没有什么错误

有道只能为我提供单词信息而已

整个语句的话还是得靠自己来

寻找下一个翻译的目标

继续努力!!!!!!!!!!!!!!!

下载地址(115网盘):http://u.115.com/file/f977d31097


CSS基础一之简介

Detail 0 Comments »

一.CSS简介

1.CSS是Cascading Style Sheets(级联样式表)的缩写。

2.CSS是一种样式表语言,用于为HTML文档定义布局。
其中CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面。
HTML可以用于为网站添加布局效果,但有可能被误用。
而CSS则提供了更多选择,而且更为精确、完善。现在所有浏览器都支持CSS。


3.CSS跟HTML的区别?
HTML用于结构化内容;CSS用于格式化结构化的内容。

4.采用CSS的好处
(1)通过单个样式表控制多个文档的布局; 
(2)更精确的布局控制; 
(3)为不同的媒体类型(屏幕、打印等)采取不同的布局; 
(4)无数高级、先进的技巧。
(5)可以灵活的更换网页风格


Tags: css

Posted in |

CSS基础二之基本语法

Detail 0 Comments »

二.基本语法

1.CSS 语法由三部分构成:选择器、属性和值:

(1)selector {property: value}

(2)选择器 (selector) 通常是你希望定义的 HTML 元素或标签,属性 (property) 是你希望改变的属性,并且每个属性都有一个值。属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的样式声明

 

2.为HTML文档应用CSS

(1)行内样式表(style属性):为HTML应用CSS的一种方法是使用HTML属性style。

新建css_01.html文件:

<html>

<head>

<title>例子</title>

</head>

<body style="background-color: #FF0000;">

<p>这个页面是红色的</p>

</body>

</html>

 

(2)内部样式表(style元素):为HTML应用CSS的另一种方法是采用HTML元素style。

新建css_02.html文件:

<html>

<head>

<title>例子</title>

<style type="text/css">

body {background-color: #FF0000;}

</style>

</head>

<body>

<p>这个页面是红色的</p>

</body>

</html>

 

(3)外部样式表(引用一个样式表文件),推荐此方法:

外部样式表就是一个扩展名为css的文本文件。跟其他文件一样,你可以把样式表文件放在Web服务器上或者本地硬盘 上。

例如,样式表文件名为style.css,它通常被存放于名为style的目录中。

新建css_03.html文件:

<html>

<head>

<title>我的文档</title>

<link rel="stylesheet" type="text/css" href=“style.css" />

</head>

<body>

<h1>我的第一个样式表</h1>

</body>

</html>

新建style.css文件:

body {

background-color: #FF0000;

}

(注意两者都放在当前目录下,不同目录时引用注意路径)

Tags: CSS

Posted in |

JavaBean的使用

Detail 0 Comments »

JavaBean的使用

一.为什么有JavaBean存在
1.JavaBean其实就是java类,我们知道java可以对一个业务进行封装,而且在

java当中是以类的形式存在的,可以形成一个个的小组件。
2.正常的开发模式:JSP+JDBC   JSP+JavaBean

二.WEB目录的标准结构
WEB ROOT  -->根目录,一般虚拟目录就直接在此目录中配置
   WEB-INF:整个WEB中最安全的目录
        classes:保存所有的*.class文件,所有的class文件必须放在一个包中
        lib:可以保存第三方的jar文件
        web.xml:WEB的部署描述符
   css:保存所有的*.css文件
   js:保存所有的*.js文件
   jsp:保存所有的*.jsp文件
   index.htm或者index.jsp文件


三.JavaBean的使用
1.JavaBean的编写要求
(1)命名规范必须遵守
(2)JavaBean的要求:
所有的JavaBean必须在一个包中
必须使用public class 类名称进行声明,文件与类名称一致
类中的全部属性必须封装
被封住的属性需要通过seter和getter方法设置和访问
如果直接使用在jsp中提供的JavaBean语法,必须存在一个无参构造方法

例1:
新建一个Simple.java文件,里面有三个属性,姓名,密码和年龄:
package JavaBean.demo ;
public class Simple{
    private String name ;
    private String password ;
    private int age ;
    public Simple(){
    }
    public void setName(String name){
        this.name = name ;
    }
    public void setPassword(String password){
        this.password = password ;
    }
    public void setAge(int age){
        this.age = age ;
    }
    public String getName(){
        return this.name ;
    }
    public String getPassword(){
        return this.password;
    }
    public int getAge(){
        return this.age ;
    }
};

然后对其进行编译,生成的class文件必须放在classer目录中,这样就完成了

对一个最简单的JavaBean的编写。

2.使用JavaBean
在web中使用JavaBean有两种方式
(1)通过page指令导入
<%@ page import="你的包.类名称"%>


(2)通过jsp中定义的JavaBean语法访问
<jsp:useBean id="类名" class="你的包.类名称" scope="四种保存范围"/>
<jsp:useBean>:表示要在jsp中使用JavaBean
id:表示生成的实例化对象,凡是标签使用中有id,则表示一个实例化对象
class:表示实例化对象对象的包.类名称
scope:表示这个JavaBean的保存范围:page,request,session,application
(注意这里的实例化操作是使用java的反射机制完成的)

例2:
新建jbdemo1.jsp文件,通过page指令完成使用:
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import="JavaBean.demo.Simple"%>
<%
    Simple simple = new Simple() ;
    simple.setName("张三") ;
    simple.setPassword("helloworld") ;
    simple.setAge(30) ;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密码:<%=simple.getPassword()%></h2>
<h2>年龄:<%=simple.getAge()%></h2>

例3:
新建jbdemo2.jsp文件,通过jsp语法中的JavaBean标签指令访问:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="JavaBean.demo.Simple" scope="page"/>
<%
    simple.setName("张三") ;
    simple.setPassword("helloworld") ;
    simple.setAge(30) ;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密码:<%=simple.getPassword()%></h2>
<h2>年龄:<%=simple.getAge()%></h2>


3.JavaBean重新加载问题
(1)JavaBean每次修改都必须重新启动服务器,因为重启服务器后才可以重新

加载新的类进来给用户使用。 

(2)tomcat中提供了自动加载功能,每次可以自己侦查一个类是否被修改,如果

被修改则重新加载。但每次重新加载后,容器内的全部内容都将被全部清空,

如果此时有session的话也不存在了。

修改sever.xml文件,在配置虚拟目录的地方:
<Context path="/demo" docBase="D:\web" reloadable="true"/>

(3)如果进行了此配置,则服务器会一直监视类的修改情况,会降低服务器的系

统性能。建议在项目的开发中使用此配置,等到项目发布后,关闭此配置。
(4)几个术语名词:
POJO(定义类的时候的名称),VO(为bean中的每个属性赋值之后),TO(传输对象,

实现了serializable接口的对象)

4.javaeban的应用(最主要用于传递参数上)
(1)接受参数,使用表单的方式传递参数
例4:
新建一个jbdemo3.htm页面:
<form action="jbdemo3.jsp" method="post">
    姓名:<input type="text" name="name"><br>
    密码:<input type="text" name="password"><br>
    年龄:<input type="text" name="age"><br>
    <input type="submit" value="提交">
</form>

新建一个jbdemo3.jsp文件,使用传统方式接收:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="JavaBean.demo.Simple" scope="page"/>
<%
    request.setCharacterEncoding("GBK") ;
%>
<%
    simple.setName(request.getParameter("name")) ;
    simple.setPassword(request.getParameter("password")) ;
    simple.setAge(Integer.parseInt(request.getParameter("age")))

;
%>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密码:<%=simple.getPassword()%></h2>
<h2>年龄:<%=simple.getAge()%></h2>

例5:
新建一个jbdemo4.htm页面:
<form action="jbdemo4.jsp" method="post">
    姓名:<input type="text" name="name"><br>
    密码:<input type="text" name="password"><br>
    年龄:<input type="text" name="age"><br>
    <input type="submit" value="提交">
</form>


新建一个jbdemo4.jsp文件,使用JavaBean的方式接收:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="JavaBean.demo.Simple" scope="page"/>
<%
    request.setCharacterEncoding("GBK") ;
%>
<jsp:setProperty name="simple" property="*"/>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密码:<%=simple.getPassword()%></h2>
<h2>年龄:<%=simple.getAge()%></h2>


5.设置JavaBean中的属性
在JavaBean定义完成或,可以直接使用设置属性的方式,为JavaBean的内容赋
值,

赋值方法有四种: 

方法一:通过自省方式设置内容,最常用的方式,语法为:
<jsp:setProperty name="bean的名称" property="*"/>
其中name属性就是JavaBean中定义的id,而property则是根据参数名称自动进

行设置。

方法二:指定一个属性:
<jsp:setProperty name="simple" property="name"/>
<jsp:setProperty name="simple" property="password"/>

方法三:将指定的参数给指定的属性:
<jsp:setProperty name="bean的名称" property="一个具体的属性" param="
参数"/> 

<jsp:setProperty name="simple" property="name" param="password"/>
<jsp:setProperty name="simple" property="password" param="name"/>

方法四:设置指定的值给属性
<jsp:setProperty name="bean的名称" property="一个具体的属性" value="
具体的内容"/> 

范例:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="JavaBean.demo.Simple" scope="page"/>
<%
    request.setCharacterEncoding("GBK") ;
    String pass = "hello" ;
%>
<jsp:setProperty name="simple" property="name" value="password"/>
<jsp:setProperty name="simple" property="password" value="<%=pass%

>"/>
<h2>姓名:<%=simple.getName()%></h2>
<h2>密码:<%=simple.getPassword()%></h2>
<h2>年龄:<%=simple.getAge()%></h2>

6.取得指定的属性
例6:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="simple" class="JavaBean.demo.Simple" scope="page"/>
<%
    request.setCharacterEncoding("GBK") ;
    String pass = "hello" ;
%>
<jsp:setProperty name="simple" property="name" value="password"/>
<jsp:setProperty name="simple" property="password" value="<%=pass%

>"/>
<h2>姓名:<jsp:getProperty name="simple" property="name"/></h2>
<h2>密码:<jsp:getProperty name="simple" property="password"/></h2>
<h2>年龄:<jsp:getProperty name="simple" property="age"/></h2>

三.四种保存范围
1.page范围,只在当前页面保存
2.request范围,一次服务器跳转有效
3.session范围,对于一个用户有效
4.application范围,对于整个服务器有效
例7:
新建count.java文件作为JavaBean:
package JavaBean.demo ;
public class Count{
    private int count ;
    public Count(){
        System.out.println("** 实例化对象**") ;
    }
    public int getCount(){
        return this.count++ ;
    }
};

page范围
新建PageDemo01.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>
<%
    System.out.println("--------------------------------") ;
%>
<jsp:useBean id="count" class="javademo.demo.Count" scope="page"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>
<jsp:forward page="PageDemo02.jsp"/>
新建PageDemo02.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>

<jsp:useBean id="count" class="javademo.demo.Count" scope="page"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>

request范围
新建RequestDemo01.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>
<%
    System.out.println("--------------------------------") ;
%>
<jsp:useBean id="count" class="javademo.demo.Count" scope="request"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>
<jsp:forward page="RequestDemo02.jsp"/>

新建RequestDemo01.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>
<jsp:useBean id="count" class="javademo.demo.Count" scope="request"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>


session范围
新建SessionDemo01.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>
<%
    System.out.println("--------------------------------") ;
%>
<jsp:useBean id="count" class="javademo.demo.Count" scope="session"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>


application范围
新建applicationDemo01.jsp文件:
<%@ page contentType="text/html;charset=GBK"%>
<%
    System.out.println("--------------------------------") ;
%>
<jsp:useBean id="count" class="javademo.demo.Count"

scope="application"/>
<h1>访问了<font color="red">
    <jsp:getProperty name="count" property="count"/>
</font>次!</h1>

四.JavaBean的编写:一般情况下吧重复的代码放在JavaBean中
五.JavaBean可以接收任意类型的参数。



Posted in |