在Apex Unit测试中,为什么MyConrtoller myCont = new MyController(StandardContoller); 电话设置当前页面?
例如,如果我有这个页面:
<apex:page standardController="DB_Object__c" extensions="MyExtension">
<apex:form id="detail_list">
<apex:detail />
<apex:actionStatus id="readStatus">
<apex:facet name="start">
Loading, please wait...
</apex:facet>
<apex:facet name="stop"><apex:outputPanel >
<apex:commandButton action="{!readData}"
value="Update Data"
rerender="detail_list"
status="readStatus"/>
{!remainingRecords}</apex:outputPanel>
</apex:facet>
</apex:actionStatus>
</apex:form>
</apex:page>
Run Code Online (Sandbox Code Playgroud)
如果我的单元测试创建了这个:
DB_Object__c dbObj = new DB_Object__c();
dbObj.Name = 'test';
dbObj.Setting = 'aSetting';
insert dbObj;
Test.setCurrentPageReference(Page.Demo);
ApexPages.StandardController sc = new ApexPages.StandardController(dbObj);
MyExtension myExt = new MyExtension(sc);
Run Code Online (Sandbox Code Playgroud)
为什么ApexPages.currentPage().getParameters().get('id');失败?我要做:
ApexPages.currentPage().getParameters().put('id',dbObj.id);
Run Code Online (Sandbox Code Playgroud)
如果它没有对它做任何事情,那么传递dbObj给StandardController它的重点是什么?您是否在空白对象中发送的意图和扩展使用此对象?标准控制器和单元测试似乎没有很多文档......
谢谢!
我在Win Server 2008 R2上设置django-mssql时遇到了一些问题.我安装了所有东西,然而,django-mssql的wiki说设置类似于以下设置文件:
DATABASES = {
'default': {
'NAME': 'my_database',
'ENGINE': 'sqlserver_ado',
'HOST': 'dbserver\\ss2008',
'USER': '',
'PASSWORD': '',
'OPTIONS' : {
'provider': 'SQLOLEDB',
'use_mars': True,
},
}
}
Run Code Online (Sandbox Code Playgroud)
当我从我的站点目录运行时:
python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)
我收到一条错误,指出它不是可用的数据库后端.当我安装django-mssql时,似乎在这里安装了后端\ site-packages\django_mssql-1.0.1-py2.7.egg\sqlserver_ado这需要复制到site-packages\django\db\backends吗?
如果我将设置设置为:我得到相同的错误:
DATABASES = {
'default': {
'NAME': 'my_database',
'ENGINE': 'django_mssql-1.0.1-py2.7.egg.sqlserver_ado',
'HOST': 'dbserver\\ss2008',
'USER': '',
'PASSWORD': '',
'OPTIONS' : {
'provider': 'SQLOLEDB',
'use_mars': True,
},
}
}
Run Code Online (Sandbox Code Playgroud)
我在设置这个后端时错过了什么?这是我第一次使用django,但我没有在文档中看到任何设置不同后端的内容,而django-mssql wiki或者问题似乎也没有.
此外,如果有其他文件可以提供帮助,请告诉我.
编辑:django应用程序在Ubuntu服务器上运行.
我试图得到一个随机布尔值,但加权百分比.例如,我希望用户传入百分比(即60),并且生成器将在60%的时间内随机选择真实.
我有的是这个:
def reset(percent=50):
prob = random.randrange(0,100)
if prob > percent:
return True
else:
return False
Run Code Online (Sandbox Code Playgroud)
有一个更好的方法吗?这似乎效率低下且繁琐.我不需要它是完美的,因为它只是用于模拟数据,但我需要尽可能快.
我搜索过(Google/SO)并且没有找到任何其他问题.
我正在尝试对使用HAWK身份验证的服务器使用加特林。问题在于,需要为每个请求生成标头,并传递密钥ID和密钥。这使得很难从多个用户发送请求。我已经有了这个使用硬编码键的Hawk Java库。但是,我想使用馈线模拟多个用户。由于供料器未正确传递到函数调用中,因此我似乎无法正常工作。
我有以下代码:
class TestRampSimulation extends Simulation {
{
...
def generateHawk(key: String, secret: String, method: String, url: String): String = {
val hawkCredentials: HawkCredentials = new HawkCredentials.Builder()
.keyId(key)
.key(secret)
.algorithm(HawkCredentials.Algorithm.SHA256)
.build();
val hawkClient: HawkClient = new HawkClient.Builder().credentials(hawkCredentials).build();
val authorizationHeader: String = hawkClient.generateAuthorizationHeader(URI.create(url), method, null, null, null, null);
return authorizationHeader
}
val nbUsers = Integer.getInteger("users", 1).toInt
val rmpTime = Integer.getInteger("ramp", 1).toInt
val feeder = csv("tokens.csv").random
val scn = scenario("Test API")
.feed(feeder)
.exec(http("[POST] /some/api/call")
.post("/some/api/call") …Run Code Online (Sandbox Code Playgroud) apex-code ×1
django ×1
django-mssql ×1
force.com ×1
gatling ×1
python ×1
python-2.7 ×1
random ×1
salesforce ×1
scala ×1
visualforce ×1