Tag: 单位测试

使用ScriptEngine(.NET 3.5)在C#中执行Selenium pythonunit testing时遇到问题

第一次海报。 我转向关于堆栈溢出的第一个问题,因为我找到了很少的资源来寻找答案。 我正在寻找从C#应用程序执行Selenium python测试。 我不想每次都要编译C#Selenium测试; 我想利用IronPython脚本进行动态selenium测试。 (注意:我没有Python或ScriptEngine等经验。) Selenium以下列forms在python中输出unit testing: from selenium import selenium import unittest class TestBlah(unittest.TestCase): def setUp(self): self.selenium = selenium(…) self.selenium.start() def test_blah(self): sel = self.selenium sel.open(“http://www.google.com/webhp”) sel.type(“q”, “hello world”) sel.click(“btnG”) sel.wait_for_page_to_load(5000) self.assertEqual(“hello world – Google Search”, sel.get_title()) print “done” def tearDown(self): self.selenium.stop() if __name__ == “__main__”: unittest.main() 我可以使用ipy.exe从命令行运行,没问题: ipy test_google.py 我可以看到Selenium Server启动一个firefox浏览器实例并运行测试。 […]

为什么将double.epsilon添加到一个值会产生相同的值,完全相同?

我有一个unit testing,测试边界: [TestMethod] [ExpectedException(typeof(ArgumentOutOfRangeException))] public void CreateExtent_InvalidTop_ShouldThrowArgumentOutOfRangeException() { var invalidTop = 90.0 + Double.Epsilon; new Extent(invalidTop, 0.0, 0.0, 0.0); } public static readonly double MAX_LAT = 90.0; public Extent(double top, double right, double bottom, double left) { if (top > GeoConstants.MAX_LAT) throw new ArgumentOutOfRangeException(“top”); // not hit } 我以为我只是通过添加最小可能的正双倍来向尖端90.0倾斜,但是现在没有抛出exception,任何想法为什么? 调试时,我看到top为90,当它应该是90.00000000 …. 编辑:我应该想一点, 90+Double.Epsilon将失去其分辨率。 似乎最好的方法是做一些转移。 解: […]