QGIS Plugin Area Divider¶
This unit test work for the layer if it has been added or not and check its suitability
Test Layer Transaction -Qgis Project instance/Add map layer whether layer exist -try/except raise error if not exist could not pass unit test
Test Load Layer -Read the layer -If None could not pass unit test
Here is the all code that we implement:
class SaveAttributesTest(unittest.TestCase):
"""Test dialog works."""
@classmethod
def setUpClass(cls):
cls.iface = get_iface()
def setUp(self):
"""Runs before each test."""
QgsProject.instance().clear()
self.dialog = SaveAttributesDialog(None)
self.attributes=SaveAttributes(get_iface())
self.attributes.dlg=self.dialog
def test_Layer(self):
try:
vlayer = QgsVectorLayer("TEST_LINE","line","memory")
vlayer = QgsVectorLayer("TEST_LINE","point","memory")
vlayer = QgsVectorLayer("TEST_LINE","polygon","memory")
except:
self.assertTrue(True==False)
def test_Layer_Transaction(self):
try:
vlayer = QgsVectorLayer("TEST_LINE","line","memory")
QgsProject.instance().addMapLayer(vlayer)
except:
self.assertTrue(True==False)
def test_load_layer(self):
path=os.path.dirname(os.path.realpath(__file__)) + "../../save_attributes/unittests/"
ds = ogr.Open(path+"c_beytepe.shp",0)
self.assertTrue(ds==None)
def tearDown(self):
"""Runs after each test."""
self.dialog = None
if __name__ == "__main__":
suite = unittest.makeSuite(SaveAttributesDialogTest)
logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)