์ผ๋ถ ํ ํฐ์๋ expires_at
๊ฐ์ด float(์: 1612807300.1613762
)๋ก ๋์ด ์์ด ์ด ํ์์ ValueError: invalid literal for int() with base 10
ํฉ๋๋ค. ์ด๊ฒ์ int(float(response.get('expires_at')))
(๋๋ ์๋ฅด์ง ์๋๋ก ๋ฐ์ฌ๋ฆผ)๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค.
self._expires_at
๋ฐ๋ก ์์๋ float๊ฐ ์์ฑ๋ฉ๋๋ค.
self._expires_at = time.time() + int(self.expires_in)
expires_at
์ ์ฌ์ฉ๋ฒ์ RFC์ ์ ์๋์ด ์์ง ์์ผ๋ฏ๋ก ์ฝ๋์๋ ํผ๋์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. expires_in
์ ์ ์ฌํ๊ฒ int ๋ผ๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.
์ด ์ฃ์ง ์ผ์ด์ค๋ฅผ ์ปค๋ฒํ๊ธฐ ์ํด ์ฌ์ฉ๋ฒ์ ์์ ํ๊ณ ๋จ์ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๋ชจ๋ PR์ ํ์ํฉ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๊น? ์ ๋ ์ด์ ๋ง ์คํ ์์ค๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ์ข์ ์์์ด ๋ ๊ฒ์ ๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๊น? ์ ๋ ์ด์ ๋ง ์คํ ์์ค๋ก ์์ํ๊ธฐ ๋๋ฌธ์ ์ข์ ์์์ด ๋ ๊ฒ์ ๋๋ค.
@default-303 ํด๋ด!
@ggiill ๊ฐ์ฌํฉ๋๋ค, ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝํ์ต๋๋ค
- self._expires_at = int(response.get('expires_at'))
+ self._expires_at = round(float(response.get('expires_at')))
๋ชจ๋ ํ
์คํธ๋ฅผ ํต๊ณผํ๋ฉด pytest
์คํํ ๋์
๋๋ค.
ํ์ง๋ง ์ด๋ค ์ข
๋ฅ์ ํ
์คํธ๋ฅผ ์ถ๊ฐํ์๊ฒ ์ต๋๊น? ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋จํ typecheck
ํ
์คํธ์ ๊ฐ์ด -
```
๋จ์ ํ
์คํธ ๊ฐ์ ธ์ค๊ธฐ
๊ฐ์ ธ์ค๊ธฐ ์์ ## ์ด ๋ฐ๋ชจ๋ฅผ ์ํด ๋ง๋ ์ํ ์คํฌ๋ฆฝํธ
๊ฐ์ ธ์ค๊ธฐ ์๊ฐ
ํด๋์ค TestFix(unittest.TestCase):
def test_float(self) :
string_time = str(time.time())
self.assertIsInstance(fix.get_time("123345.1222"), int)
def test_int(self) :
string_time = str(round(time.time()))
self.assertIsInstance(fix.get_time("12333"), int)
```
๋๋ ์ ์ฒด mock test
?
@ggiill ์๋
ํ์ธ์, ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์์ต๋๊น?
lmao ๊ทธ๊ฒ์ ์ฌ์ง์ด ๋ด๊ฐ ๊ทธ๊ฒ์ ์์ด ๋ฒ๋ฆฐ ํ ๋ฌ์
๋๋ค.
@ggiill ์๋ ํ์ธ์, ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ์ ์ ์์ต๋๊น?
lmao ๊ทธ๊ฒ์ ์ฌ์ง์ด ๋ด๊ฐ ๊ทธ๊ฒ์ ์์ด ๋ฒ๋ฆฐ ํ ๋ฌ์ ๋๋ค.
@default-303 ์ ๋ ๊ด๋ฆฌ์๊ฐ ์๋๋๋ค. @JonathanHuot์๊ฒ ํ์ ๋๋๋ค. ๊ฒํ ๋ฅผ ์ํด PR๋ ํ๊ณ ์ถ์ ๊ฒ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
expires_at
์ ์ฌ์ฉ๋ฒ์ RFC์ ์ ์๋์ด ์์ง ์์ผ๋ฏ๋ก ์ฝ๋์๋ ํผ๋์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค.expires_in
์ ์ ์ฌํ๊ฒ int ๋ผ๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค.์ด ์ฃ์ง ์ผ์ด์ค๋ฅผ ์ปค๋ฒํ๊ธฐ ์ํด ์ฌ์ฉ๋ฒ์ ์์ ํ๊ณ ๋จ์ ํ ์คํธ๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๋ชจ๋ PR์ ํ์ํฉ๋๋ค.