为啥 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败

Posted

技术标签:

【中文标题】为啥 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败【英文标题】:Why is PollingIntervalTest test_getlastupdate_no_change failing with the error “could not convert string to float” in Sonos Self-Test Suite为什么 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败 【发布时间】:2016-02-23 17:28:58 【问题描述】:

我已经运行了 Sonos Self-Test Suite available here,一切都通过了,除了这个错误,我不知道为什么:

Test case: PollingIntervalTest test_getlastupdate_no_change
Instance messages: could not convert string to float

...more output...
2016-02-23 09:43:40,834 [STOP] SONOS.sonos.workflow.fixture.PollingIntervalTest - could not convert string to float:
2016-02-23 09:43:40,834 [STOP] SONOS.sonos.workflow.fixture.PollingIntervalTest - 1212827 PollingIntervalTest test_getlastupdate_no_change
2016-02-23 09:43:40,836 [DEBUG] SONOS.sonos.workflow.fixture.PollingIntervalTest - [('../../sonos-1.1.0.dev_r208947-py2.7.egg/sonos/workflow/fixture.py', 2494, '_run_test_iteration', 'testMethod()'), ('/Users/rob/Dropbox/dev/projects/composed/sonos_downloads/sonos-selftest/smapi/content_workflow/getlastupdate.py', 40, 'test_getlastupdate_no_change', 'poll_interval = self.smapiservice.get_polling_interval()'), ('../../sonos-1.1.0.dev_r208947-py2.7.egg/sonos/smapi/smapiservice.py', 374, 'get_polling_interval', "pollinterval = self.config.getfloat('Polling Interval', 'interval')")]
2016-02-23 09:43:40,836 [INFO] SONOS.sonos.workflow.fixture.PollingIntervalTest - -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
2016-02-23 09:43:40,836 [INFO] SONOS.sonos.workflow.result - End *test case* test_getlastupdate_no_change at Tuesday, February 23, 2016 09:43 AM

这是我的服务返回的内容:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.sonos.com/Services/1.1">
  <soap:Body>
    <tns:getLastUpdateResponse>
      <getLastUpdateResult>
        <catalog>2016-02-18 11:52:30</catalog>
        <favorites>Rob-2016-02-18 12:01:00</favorites>
        <pollInterval>30</pollInterval>
     </getLastUpdateResult>
   </tns:getLastUpdateResponse>
  </soap:Body>
</soap:Envelope>

它似乎与sample response in the Sonos API docs 几乎相同。您可以看到 pollInterval 没有在 SOAP XML 中指定类型信息,所以我正在努力查看这个错误是如何由于我正在做的事情引起的。

我是不是做错了什么,或者这可能是测试套件本身的问题?

【问题讨论】:

【参考方案1】:

我认为这可能是自检处理令牌值中的特殊字符(特别是“:”)的问题。如果可能,请尝试仅返回示例响应中指定的整数,以查看这是否解决了问题。

【讨论】:

以上是关于为啥 PollingIntervalTest test_getlastupdate_no_change 在 Sonos Self-Test Suite 中因错误“无法将字符串转换为浮点数”而失败的主要内容,如果未能解决你的问题,请参考以下文章

为啥 TextField 不关注更新? (iOS 15)

为啥 make 认为目标是最新的?

为啥 C# 禁止泛型属性类型?

为啥成员函数的符号很弱?

UITableViewCell为啥会有自动布局约束冲突

为啥我不能输入我的号码?