小编Chr*_*lke的帖子

从Alexa Skills Kit(ASK)获取位置

我正在寻找一种方法来获取用户的位置,理想情况是经度/纬度,但地址也可以工作,从Alexa Skill Kit请求到我的自定义技能.此外,我不希望用户链接到我的应用程序的帐户.

这可能吗?如果是这样,怎么样?

alexa-skills-kit

20
推荐指数
2
解决办法
8168
查看次数

CakePHP 3:模型单元测试失败 - "重复键值"

我正在使用Postgres(我认为与问题有关)和CakePHP 3.

我有以下单元测试,只是检查以确保模型可以保存有效的数据集.当我运行以下测试时,使用标准的"bake'd"模型单元测试,我得到以下错误.

我认为这是问题所在:

我们正在使用灯具来添加一些基础数据.这是我认为可能导致问题的唯一地方.为此添加信任,在单元测试运行时,我运行以下命令以获取下一个自动递增id值,并返回1,即使它在非测试DB中返回了正确的数字.Select nextval(pg_get_serial_sequence('agencies', 'id')) as new_id;

单元测试:

public function testValidationDefault()
{
    $agencyData = [
        'full_name' => 'Agency Full Name',
        'mode' => 'transit',
        'request_api_class' => 'Rest\Get\Json',
        'response_api_class' => 'NextBus\Generic',
        'realtime_url_pattern' => 'http://api.example.com',
        'routes' => '{"123": {"full_route": "123 Full Route", "route_color": "#123456"}}'
    ];

    $agency = $this->Agencies->newEntity($agencyData);
    $saved = $this->Agencies->save($agency);
    $this->assertInstanceOf('App\Model\Entity\Agency', $saved);
}
Run Code Online (Sandbox Code Playgroud)

错误:

PDOException: SQLSTATE[23505]: Unique violation: 7 ERROR:  duplicate key value violates unique constraint "agencies_pkey"
DETAIL:  Key (id)=(1) already exists.
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情

  • 将相同的代码复制到控制器中,并在表中成功添加了实体.
  • 添加ID为200.出现相同的错误.

更新1

这个夹具确实为每个记录设置了ID字段.从夹具中删除它们确实有效,但它会破坏依赖于某些关系数据的其他单元测试.

postgresql unit-testing cakephp cakephp-3.0

18
推荐指数
1
解决办法
563
查看次数